home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
dsp
/
dsp56k
/
a56-1_0.lha
/
a56-1.0
/
lex.yy.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-08-09
|
70KB
|
3,618 lines
# include "stdio.h"
# define U(x) x
# define NLSTATE yyprevious=YYNEWLINE
# define BEGIN yybgin = yysvec + 1 +
# define INITIAL 0
# define YYLERR yysvec
# define YYSTATE (yyestate-yysvec-1)
# define YYOPTIM 1
# define YYLMAX 200
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin ={stdin}, *yyout ={stdout};
extern int yylineno;
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
/*
* Copyright (C) 1990, 1991 Quinn C. Jensen
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation. The author makes no representations
* about the suitability of this software for any purpose. It is
* provided "as is" without express or implied warranty.
*
*/
# define YYNEWLINE 10
yylex(){
int nstr; extern int yyprevious;
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap()) return(0); break;
case 1:
;
break;
case 2:
{curline++; RET(EOL);}
break;
case 3:
{RET(EOS);}
break;
case 4:
case 5:
{RET(COMMENT);}
break;
case 6:
{RET(XMEM);}
break;
case 7:
{RET(YMEM);}
break;
case 8:
{RET(LMEM);}
break;
case 9:
{RET(PMEM);}
break;
case 10:
{RET(A10);}
break;
case 11:
{RET(AAAA);}
break;
case 12:
{RET(B10);}
break;
case 13:
{RET(BBBB);}
break;
case 14:
{RET(AABB);}
break;
case 15:
{RET(BBAA);}
break;
case 16:
{RET(XXXX);}
break;
case 17:
{RET(YYYY);}
break;
case 18:
{RET(SR);}
break;
case 19:
{RET(MR);}
break;
case 20:
{RET(CCR);}
break;
case 21:
{RET(OMR);}
break;
case 22:
{RET(SP);}
break;
case 23:
{RET(SSH);}
break;
case 24:
{RET(SSL);}
break;
case 25:
{RET(LA);}
break;
case 26:
{RET(LC);}
break;
case 27:
{yylval.ival = atoi(&yytext[1]); RET(AREG);}
break;
case 28:
{yylval.ival = atoi(&yytext[1]); RET(BREG);}
break;
case 29:
{yylval.ival = atoi(&yytext[1]); RET(MREG);}
break;
case 30:
{yylval.ival = atoi(&yytext[1]); RET(NREG);}
break;
case 31:
{yylval.ival = atoi(&yytext[1]); RET(RREG);}
break;
case 32:
{yylval.ival = atoi(&yytext[1]); RET(XREG);}
break;
case 33:
{yylval.ival = atoi(&yytext[1]); RET(YREG);}
break;
case 34:
{yylval.ival = strtol(&yytext[1], 0, 16); RET(CHEX);}
break;
case 35:
{yylval.ival = makefrac(yytext); RET(FRAC);}
break;
case 36:
{yylval.ival = atoi(&yytext[0]); RET(CDEC);}
break;
case 37:
{RET(OP_ABS);}
break;
case 38:
{RET(OP_ADC);}
break;
case 39:
{RET(OP_ADD);}
break;
case 40:
{RET(OP_ADDL);}
break;
case 41:
{RET(OP_ADDR);}
break;
case 42:
{RET(OP_ASL);}
break;
case 43:
{RET(OP_ASR);}
break;
case 44:
{RET(OP_CLR);}
break;
case 45:
{RET(OP_CMP);}
break;
case 46:
{RET(OP_CMPM);}
break;
case 47:
{RET(OP_DIV);}
break;
case 48:
{RET(OP_MAC);}
break;
case 49:
{RET(OP_MACR);}
break;
case 50:
{RET(OP_MPY);}
break;
case 51:
{RET(OP_MPYR);}
break;
case 52:
{RET(OP_NEG);}
break;
case 53:
{RET(OP_NORM);}
break;
case 54:
{RET(OP_RND);}
break;
case 55:
{RET(OP_SBC);}
break;
case 56:
{RET(OP_SUB);}
break;
case 57:
{RET(OP_SUBL);}
break;
case 58:
{RET(OP_SUBR);}
break;
case 59:
{yylval.cond = 0x0; RET(OP_TCC);}
break;
case 60:
{yylval.cond = 0x1; RET(OP_TCC);}
break;
case 61:
{yylval.cond = 0x2; RET(OP_TCC);}
break;
case 62:
{yylval.cond = 0x3; RET(OP_TCC);}
break;
case 63:
{yylval.cond = 0x4; RET(OP_TCC);}
break;
case 64:
{yylval.cond = 0x5; RET(OP_TCC);}
break;
case 65:
{yylval.cond = 0x6; RET(OP_TCC);}
break;
case 66:
{yylval.cond = 0x7; RET(OP_TCC);}
break;
case 67:
{yylval.cond = 0x8; RET(OP_TCC);}
break;
case 68:
{yylval.cond = 0x8; RET(OP_TCC);}
break;
case 69:
{yylval.cond = 0x9; RET(OP_TCC);}
break;
case 70:
{yylval.cond = 0xA; RET(OP_TCC);}
break;
case 71:
{yylval.cond = 0xB; RET(OP_TCC);}
break;
case 72:
{yylval.cond = 0xC; RET(OP_TCC);}
break;
case 73:
{yylval.cond = 0xD; RET(OP_TCC);}
break;
case 74:
{yylval.cond = 0xE; RET(OP_TCC);}
break;
case 75:
{yylval.cond = 0xF; RET(OP_TCC);}
break;
case 76:
{RET(OP_TFR);}
break;
case 77:
{RET(OP_TST);}
break;
case 78:
{RET(OP_AND);}
break;
case 79:
{RET(OP_ANDI);}
break;
case 80:
{RET(OP_EOR);}
break;
case 81:
{RET(OP_LSL);}
break;
case 82:
{RET(OP_LSR);}
break;
case 83:
{RET(OP_NOT);}
break;
case 84:
{RET(OP_OR);}
break;
case 85:
{RET(OP_ORI);}
break;
case 86:
{RET(OP_ROL);}
break;
case 87:
{RET(OP_ROR);}
break;
case 88:
{RET(OP_BCLR);}
break;
case 89:
{RET(OP_BSET);}
break;
case 90:
{RET(OP_BCHG);}
break;
case 91:
{RET(OP_BTST);}
break;
case 92:
{RET(OP_DO);}
break;
case 93:
{RET(OP_ENDDO);}
break;
case 94:
{RET(OP_LUA);}
break;
case 95:
{RET(OP_MOVE);}
break;
case 96:
{RET(OP_MOVEC);}
break;
case 97:
{RET(OP_MOVEM);}
break;
case 98:
{RET(OP_MOVEP);}
break;
case 99:
{RET(OP_INCLUDE);}
break;
case 100:
{RET(OP_ILLEGAL);}
break;
case 101:
{yylval.cond = 0x0; RET(OP_JCC);}
break;
case 102:
{yylval.cond = 0x1; RET(OP_JCC);}
break;
case 103:
{yylval.cond = 0x2; RET(OP_JCC);}
break;
case 104:
{yylval.cond = 0x3; RET(OP_JCC);}
break;
case 105:
{yylval.cond = 0x4; RET(OP_JCC);}
break;
case 106:
{yylval.cond = 0x5; RET(OP_JCC);}
break;
case 107:
{yylval.cond = 0x6; RET(OP_JCC);}
break;
case 108:
{yylval.cond = 0x7; RET(OP_JCC);}
break;
case 109:
{yylval.cond = 0x8; RET(OP_JCC);}
break;
case 110:
{yylval.cond = 0x8; RET(OP_JCC);}
break;
case 111:
{yylval.cond = 0x9; RET(OP_JCC);}
break;
case 112:
{yylval.cond = 0xA; RET(OP_JCC);}
break;
case 113:
{yylval.cond = 0xB; RET(OP_JCC);}
break;
case 114:
{yylval.cond = 0xC; RET(OP_JCC);}
break;
case 115:
{yylval.cond = 0xD; RET(OP_JCC);}
break;
case 116:
{yylval.cond = 0xE; RET(OP_JCC);}
break;
case 117:
{yylval.cond = 0xF; RET(OP_JCC);}
break;
case 118:
{RET(OP_JMP);}
break;
case 119:
{RET(OP_JCLR);}
break;
case 120:
{RET(OP_JSET);}
break;
case 121:
{yylval.cond = 0x0; RET(OP_JSCC);}
break;
case 122:
{yylval.cond = 0x1; RET(OP_JSCC);}
break;
case 123:
{yylval.cond = 0x2; RET(OP_JSCC);}
break;
case 124:
{yylval.cond = 0x3; RET(OP_JSCC);}
break;
case 125:
{yylval.cond = 0x4; RET(OP_JSCC);}
break;
case 126:
{yylval.cond = 0x5; RET(OP_JSCC);}
break;
case 127:
{yylval.cond = 0x6; RET(OP_JSCC);}
break;
case 128:
{yylval.cond = 0x7; RET(OP_JSCC);}
break;
case 129:
{yylval.cond = 0x8; RET(OP_JSCC);}
break;
case 130:
{yylval.cond = 0x8; RET(OP_JSCC);}
break;
case 131:
{yylval.cond = 0x9; RET(OP_JSCC);}
break;
case 132:
{yylval.cond = 0xA; RET(OP_JSCC);}
break;
case 133:
{yylval.cond = 0xB; RET(OP_JSCC);}
break;
case 134:
{yylval.cond = 0xC; RET(OP_JSCC);}
break;
case 135:
{yylval.cond = 0xD; RET(OP_JSCC);}
break;
case 136:
{yylval.cond = 0xE; RET(OP_JSCC);}
break;
case 137:
{yylval.cond = 0xF; RET(OP_JSCC);}
break;
case 138:
{RET(OP_JSR);}
break;
case 139:
{RET(OP_JSCLR);}
break;
case 140:
{RET(OP_JSSET);}
break;
case 141:
{RET(OP_NOP);}
break;
case 142:
{RET(OP_REP);}
break;
case 143:
{RET(OP_RESET);}
break;
case 144:
{RET(OP_RTI);}
break;
case 145:
{RET(OP_RTS);}
break;
case 146:
{RET(OP_STOP);}
break;
case 147:
{RET(OP_SWI);}
break;
case 148:
{RET(OP_WAIT);}
break;
case 149:
{RET(OP_EQU);}
break;
case 150:
{RET(OP_ORG);}
break;
case 151:
{RET(OP_DC);}
break;
case 152:
{RET(OP_END);}
break;
case 153:
{RET(OP_PAGE);}
break;
case 154:
{RET(OP_PSECT);}
break;
case 155:
{yylval.sval = strsave(yytext); RET(SYM);}
break;
case 156:
{yylval.cval = '\b'; RET(CHAR);}
break;
case 157:
{yylval.cval = '\f'; RET(CHAR);}
break;
case 158:
{yylval.cval = '\n'; RET(CHAR);}
break;
case 159:
{yylval.cval = '\r'; RET(CHAR);}
break;
case 160:
{yylval.cval = '\t'; RET(CHAR);}
break;
case 161:
{yylval.cval = '\\'; RET(CHAR);}
break;
case 162:
{yylval.cval = yytext[1]; RET(CHAR);}
break;
case 163:
{yylval.sval = (char *)fixstring(yytext);
yylval.sval = strsave(yylval.sval);
RET(STRING);}
break;
case 164:
{RET(SHL);}
break;
case 165:
{RET(SHR);}
break;
case 166:
{RET(yytext[0]);}
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
#undef input
#define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):lgetc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
#define INLINE 1024
char inline[INLINE], *ip = NULL;
lgetc(fp)
FILE *fp;
{
int c;
if(NOT ip) {
if(NOT fgets(inline, INLINE, fp))
return(EOF);
rmcr(inline);
ip = inline;
}
c = *ip;
if(ldebug) {
printf("i='%c'(%x)", c, c);
fflush(stdout);
}
switch(c) {
case '\0':
c = '\n';
ip = NULL;
break;
default:
ip++;
break;
}
return(c);
}
int yyvstop[] ={
0,
166,
0,
1,
166,
0,
2,
0,
166,
0,
166,
0,
166,
0,
166,
0,
36,
166,
0,
166,
-5,
0,
166,
0,
166,
0,
3,
166,
0,
11,
155,
166,
0,
13,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
155,
166,
0,
16,
155,
166,
0,
17,
155,
166,
0,
166,
-4,
0,
1,
0,
34,
0,
35,
0,
36,
0,
-5,
0,
5,
0,
164,
0,
165,
0,
27,
155,
0,
27,
155,
0,
155,
0,
14,
155,
0,
155,
0,
155,
0,
155,
0,
28,
155,
0,
28,
155,
0,
15,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
151,
155,
0,
155,
0,
92,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
8,
0,
25,
155,
0,
26,
155,
0,
155,
0,
155,
0,
29,
155,
0,
155,
0,
155,
0,
155,
0,
19,
155,
0,
30,
155,
0,
155,
0,
155,
0,
155,
0,
84,
155,
0,
9,
0,
155,
0,
155,
0,
31,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
22,
155,
0,
18,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
32,
155,
0,
6,
0,
33,
155,
0,
7,
0,
-4,
0,
4,
0,
162,
0,
35,
0,
10,
155,
0,
37,
155,
0,
38,
155,
0,
39,
155,
0,
78,
155,
0,
42,
155,
0,
43,
155,
0,
12,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
20,
155,
0,
44,
155,
0,
45,
155,
0,
47,
155,
0,
152,
155,
0,
80,
155,
0,
149,
155,
0,
155,
0,
155,
0,
155,
0,
109,
155,
0,
106,
155,
0,
112,
155,
0,
115,
155,
0,
102,
155,
0,
108,
155,
0,
101,
155,
0,
107,
155,
0,
117,
155,
0,
110,
155,
0,
116,
155,
0,
111,
155,
0,
113,
155,
0,
118,
155,
0,
103,
155,
0,
105,
155,
0,
114,
155,
0,
104,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
155,
0,
138,
155,
0,
155,
0,
81,
155,
0,
82,
155,
0,
94,
155,
0,
48,
155,
0,
155,
0,
50,
155,
0,
52,
155,
0,
141,
155,
0,
155,
0,
83,
155,
0,
21,
155,
0,
150,
155,
0,
85,
155,
0,
155,
0,
155,
0,
142,
155,
0,
155,
0,
54,
155,
0,
86,
155,
0,
87,
155,
0,
144,
155,
0,
145,
155,
0,
55,
155,
0,
23,
155,
0,
24,
155,
0,
155,
0,
56,
155,
0,
147,
155,
0,
67,
155,
0,
64,
155,
0,
70,
155,
0,
73,
155,
0,
76,
155,
0,
60,
155,
0,
66,
155,
0,
59,
155,
0,
65,
155,
0,
75,
155,
0,
68,
155,
0,
74,
155,
0,
69,
155,
0,
71,
155,
0,
61,
155,
0,
63,
155,
0,
72,
155,
0,
62,
155,
0,
77,
155,
0,
155,
0,
163,
0,
161,
163,
0,
156,
163,
0,
157,
163,
0,
158,
163,
0,
159,
163,
0,
160,
163,
0,
40,
155,
0,
41,
155,
0,
79,
155,
0,
90,
155,
0,
88,
155,
0,
89,
155,
0,
91,
155,
0,
46,
155,
0,
155,
0,
155,
0,
155,
0,
119,
155,
0,
155,
0,
129,
155,
0,
126,
155,
0,
132,
155,
0,
135,
155,
0,
120,
155,
0,
122,
155,
0,
128,
155,
0,
121,
155,
0,
127,
155,
0,
137,
155,
0,
130,
155,
0,
136,
155,
0,
131,
155,
0,
133,
155,
0,
123,
155,
0,
125,
155,
0,
134,
155,
0,
124,
155,
0,
155,
0,
49,
155,
0,
95,
155,
0,
51,
155,
0,
53,
155,
0,
153,
155,
0,
155,
0,
155,
0,
146,
155,
0,
57,
155,
0,
58,
155,
0,
148,
155,
0,
93,
155,
0,
155,
0,
155,
0,
139,
155,
0,
140,
155,
0,
96,
155,
0,
97,
155,
0,
98,
155,
0,
154,
155,
0,
143,
155,
0,
155,
0,
155,
0,
100,
155,
0,
99,
155,
0,
0};
# define YYTYPE int
struct yywork { YYTYPE verify, advance; } yycrank[] ={
0,0, 0,0, 1,3, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 1,4, 1,5,
4,35, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 127,0, 0,0, 4,35,
0,0, 1,6, 0,0, 0,0,
1,7, 0,0, 0,0, 0,0,
0,0, 0,0, 1,8, 1,9,
0,0, 1,10, 0,0, 1,10,
1,10, 0,0, 0,0, 0,0,
0,0, 1,10, 0,0, 0,0,
1,11, 1,12, 127,234, 1,13,
0,0, 1,14, 1,15, 1,16,
1,17, 1,18, 1,19, 1,20,
1,20, 1,20, 1,21, 1,22,
1,20, 1,23, 1,24, 1,25,
1,26, 1,27, 1,20, 1,28,
1,29, 1,30, 1,20, 1,20,
1,31, 1,32, 1,33, 2,34,
2,6, 12,45, 13,46, 2,7,
39,41, 0,0, 0,0, 0,0,
0,0, 2,8, 2,9, 0,0,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 0,0, 2,11,
2,12, 0,0, 2,13, 7,37,
2,14, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 7,37,
7,0, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 9,40,
9,40, 9,40, 9,40, 9,40,
9,40, 9,40, 9,40, 9,40,
9,40, 38,0, 128,0, 129,0,
130,0, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 7,37, 0,0,
7,37, 7,37, 0,0, 0,0,
0,0, 0,0, 7,37, 0,0,
0,0, 0,0, 38,128, 128,234,
129,235, 130,236, 0,0, 7,37,
7,37, 7,37, 7,37, 7,37,
7,37, 7,37, 7,37, 7,37,
7,37, 7,37, 7,37, 7,37,
7,37, 7,37, 7,37, 7,37,
7,37, 7,37, 7,37, 7,37,
7,37, 7,37, 7,37, 7,37,
0,0, 10,41, 7,38, 10,42,
10,42, 10,42, 10,42, 10,42,
10,42, 10,42, 10,42, 10,42,
10,42, 11,43, 131,0, 132,0,
0,0, 133,0, 0,0, 0,0,
0,0, 11,43, 11,44, 38,129,
0,0, 0,0, 0,0, 0,0,
0,0, 38,130, 134,0, 0,0,
234,0, 38,131, 0,0, 235,0,
236,0, 237,0, 238,0, 0,0,
239,0, 38,132, 240,0, 131,237,
132,238, 38,133, 133,239, 38,134,
41,135, 41,135, 41,135, 41,135,
41,135, 41,135, 41,135, 41,135,
41,135, 41,135, 0,0, 134,240,
11,43, 234,234, 11,43, 11,43,
235,234, 236,234, 237,234, 238,234,
11,43, 239,234, 0,0, 240,234,
0,0, 0,0, 0,0, 0,0,
0,0, 11,43, 11,43, 11,43,
11,43, 11,43, 11,43, 11,43,
11,43, 11,43, 11,43, 11,43,
11,43, 11,43, 11,43, 11,43,
11,43, 11,43, 11,43, 11,43,
11,43, 11,43, 11,43, 11,43,
11,43, 11,43, 15,47, 15,48,
15,47, 15,49, 15,49, 15,49,
15,49, 15,49, 15,49, 15,49,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 15,49,
15,50, 15,49, 15,51, 15,49,
15,49, 15,49, 15,49, 15,49,
15,49, 15,49, 15,49, 15,49,
15,52, 15,49, 15,49, 15,49,
15,49, 15,53, 15,49, 15,49,
15,49, 15,49, 15,49, 15,49,
15,49, 0,0, 0,0, 0,0,
0,0, 15,49, 0,0, 15,49,
15,50, 15,49, 15,51, 15,49,
15,49, 15,49, 15,49, 15,49,
15,49, 15,49, 15,49, 15,49,
15,52, 15,49, 15,49, 15,49,
15,49, 15,53, 15,49, 15,49,
15,49, 15,49, 15,49, 15,49,
15,49, 16,54, 16,55, 16,54,
17,49, 17,49, 17,49, 0,0,
0,0, 0,0, 18,49, 18,49,
18,49, 0,0, 0,0, 0,0,
0,0, 0,0, 16,56, 16,49,
16,57, 16,49, 17,49, 17,60,
17,49, 0,0, 0,0, 0,0,
18,49, 18,63, 18,49, 16,49,
17,61, 17,62, 17,49, 18,64,
16,58, 16,59, 0,0, 17,49,
18,49, 18,65, 0,0, 0,0,
0,0, 18,49, 0,0, 0,0,
0,0, 0,0, 16,56, 16,49,
16,57, 16,49, 17,49, 17,60,
17,49, 0,0, 0,0, 0,0,
18,49, 18,63, 18,49, 16,49,
17,61, 17,62, 17,49, 18,64,
16,58, 16,59, 0,0, 17,49,
18,49, 18,65, 19,49, 19,49,
19,49, 18,49, 20,49, 20,49,
20,49, 0,0, 21,49, 21,49,
21,49, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
19,49, 0,0, 19,49, 0,0,
20,49, 0,0, 20,49, 0,0,
21,49, 0,0, 21,49, 0,0,
19,66, 19,67, 0,0, 19,68,
20,49, 19,49, 21,69, 0,0,
21,70, 20,49, 0,0, 0,0,
0,0, 21,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
19,49, 0,0, 19,49, 0,0,
20,49, 0,0, 20,49, 0,0,
21,49, 0,0, 21,49, 0,0,
19,66, 19,67, 0,0, 19,68,
20,49, 19,49, 21,69, 0,0,
21,70, 20,49, 22,49, 22,49,
22,49, 21,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 26,49,
26,49, 26,49, 0,0, 0,0,
22,49, 22,71, 22,49, 22,72,
0,0, 22,73, 22,74, 0,0,
0,0, 0,0, 22,75, 22,76,
22,77, 26,49, 22,78, 26,49,
0,0, 22,79, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
26,93, 26,49, 0,0, 0,0,
0,0, 26,94, 26,49, 0,0,
22,49, 22,71, 22,49, 22,72,
0,0, 22,73, 22,74, 0,0,
0,0, 0,0, 22,75, 22,76,
22,77, 26,49, 22,78, 26,49,
0,0, 22,79, 23,49, 23,49,
23,49, 0,0, 0,0, 0,0,
26,93, 26,49, 0,0, 0,0,
23,80, 26,94, 26,49, 0,0,
0,0, 0,0, 0,0, 23,81,
23,49, 23,82, 23,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
23,49, 0,0, 0,0, 0,0,
0,0, 23,83, 0,0, 23,84,
0,0, 0,0, 24,85, 24,85,
24,85, 24,85, 24,85, 24,85,
24,85, 24,85, 0,0, 23,81,
23,49, 23,82, 23,49, 0,0,
0,0, 0,0, 0,0, 24,86,
24,49, 0,0, 24,49, 0,0,
23,49, 0,0, 0,0, 0,0,
0,0, 23,83, 0,0, 23,84,
24,49, 24,87, 24,88, 0,0,
24,89, 24,49, 0,0, 0,0,
25,90, 25,90, 25,90, 25,90,
25,90, 25,90, 25,90, 25,90,
0,0, 0,0, 0,0, 24,86,
24,49, 0,0, 24,49, 0,0,
0,0, 0,0, 25,49, 0,0,
25,49, 25,91, 0,0, 0,0,
24,49, 24,87, 24,88, 0,0,
24,89, 24,49, 25,49, 25,92,
0,0, 0,0, 0,0, 25,49,
0,0, 0,0, 27,49, 27,49,
27,49, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
27,95, 0,0, 25,49, 0,0,
25,49, 25,91, 0,0, 27,96,
27,49, 0,0, 27,49, 0,0,
0,0, 0,0, 25,49, 25,92,
0,0, 0,0, 0,0, 25,49,
27,49, 0,0, 0,0, 0,0,
0,0, 27,97, 0,0, 0,0,
28,98, 28,98, 28,98, 28,98,
28,98, 28,98, 28,98, 28,98,
29,49, 29,49, 29,49, 27,96,
27,49, 0,0, 27,49, 0,0,
0,0, 0,0, 28,49, 0,0,
28,49, 28,99, 0,0, 0,0,
27,49, 0,0, 29,103, 0,0,
29,49, 27,97, 28,100, 28,101,
0,0, 0,0, 0,0, 28,49,
28,102, 0,0, 29,49, 0,0,
29,104, 0,0, 29,105, 29,106,
29,107, 29,108, 0,0, 29,109,
0,0, 0,0, 28,49, 0,0,
28,49, 28,99, 0,0, 0,0,
0,0, 0,0, 29,103, 0,0,
29,49, 0,0, 28,100, 28,101,
30,49, 30,49, 30,49, 28,49,
28,102, 0,0, 29,49, 0,0,
29,104, 0,0, 29,105, 29,106,
29,107, 29,108, 0,0, 29,109,
0,0, 0,0, 30,49, 30,110,
30,49, 30,111, 30,112, 30,113,
30,114, 0,0, 0,0, 0,0,
30,115, 30,116, 30,117, 0,0,
30,118, 0,0, 0,0, 30,119,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 30,49, 30,110,
30,49, 30,111, 30,112, 30,113,
30,114, 31,49, 31,49, 31,49,
30,115, 30,116, 30,117, 0,0,
30,118, 0,0, 0,0, 30,119,
32,121, 32,121, 32,49, 0,0,
0,0, 0,0, 31,120, 31,49,
0,0, 31,49, 32,122, 0,0,
0,0, 33,123, 33,123, 33,49,
0,0, 0,0, 32,49, 31,49,
32,49, 0,0, 0,0, 33,124,
31,49, 0,0, 0,0, 0,0,
0,0, 0,0, 32,49, 33,49,
0,0, 33,49, 0,0, 32,49,
34,125, 0,0, 31,120, 31,49,
0,0, 31,49, 0,0, 33,49,
34,125, 34,126, 0,0, 0,0,
33,49, 0,0, 32,49, 31,49,
32,49, 0,0, 0,0, 0,0,
31,49, 0,0, 0,0, 0,0,
0,0, 0,0, 32,49, 33,49,
0,0, 33,49, 0,0, 32,49,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 33,49,
0,0, 0,0, 0,0, 0,0,
33,49, 0,0, 0,0, 34,125,
0,0, 34,125, 34,125, 37,127,
0,0, 0,0, 0,0, 34,125,
0,0, 0,0, 0,0, 37,127,
37,0, 0,0, 0,0, 0,0,
34,125, 34,125, 34,125, 34,125,
34,125, 34,125, 34,125, 34,125,
34,125, 34,125, 34,125, 34,125,
34,125, 34,125, 34,125, 34,125,
34,125, 34,125, 34,125, 34,125,
34,125, 34,125, 34,125, 34,125,
34,125, 37,128, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 37,127, 0,0,
37,127, 37,127, 0,0, 0,0,
0,0, 0,0, 37,127, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 37,127,
37,127, 37,127, 37,127, 37,127,
37,127, 37,127, 37,127, 37,127,
37,127, 37,127, 37,127, 37,127,
37,127, 37,127, 37,127, 37,127,
37,127, 37,127, 37,127, 37,127,
37,127, 37,127, 37,127, 37,127,
47,49, 47,49, 47,49, 48,136,
48,49, 48,49, 49,49, 49,49,
49,49, 50,49, 50,49, 50,49,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 47,49, 0,0,
47,49, 48,49, 0,0, 48,49,
49,49, 0,0, 49,49, 50,49,
0,0, 50,49, 47,49, 0,0,
0,0, 48,49, 0,0, 47,49,
49,49, 0,0, 48,49, 50,49,
0,0, 49,49, 0,0, 0,0,
50,137, 0,0, 0,0, 0,0,
0,0, 0,0, 47,49, 0,0,
47,49, 48,49, 0,0, 48,49,
49,49, 0,0, 49,49, 50,49,
0,0, 50,49, 47,49, 0,0,
0,0, 48,49, 0,0, 47,49,
49,49, 0,0, 48,49, 50,49,
0,0, 49,49, 0,0, 0,0,
50,137, 51,49, 51,49, 51,49,
52,49, 52,49, 52,49, 53,49,
53,49, 53,49, 54,49, 54,49,
54,49, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 51,49,
51,138, 51,139, 52,49, 0,0,
52,140, 53,49, 0,0, 53,49,
54,49, 0,0, 54,49, 51,49,
0,0, 0,0, 52,49, 53,141,
51,49, 53,49, 0,0, 52,49,
54,49, 53,142, 53,49, 0,0,
0,0, 54,49, 0,0, 0,0,
0,0, 0,0, 0,0, 51,49,
51,138, 51,139, 52,49, 0,0,
52,140, 53,49, 0,0, 53,49,
54,49, 0,0, 54,49, 51,49,
0,0, 0,0, 52,49, 53,141,
51,49, 53,49, 0,0, 52,49,
54,49, 53,142, 53,49, 0,0,
0,0, 54,49, 55,143, 55,49,
55,49, 56,49, 56,49, 56,49,
0,0, 0,0, 0,0, 0,0,
0,0, 58,49, 58,49, 58,49,
0,0, 0,0, 0,0, 0,0,
55,49, 0,0, 55,49, 56,49,
0,0, 56,49, 0,0, 0,0,
0,0, 0,0, 0,0, 58,49,
55,49, 58,49, 58,146, 56,49,
0,0, 55,49, 0,0, 0,0,
56,49, 0,0, 0,0, 58,49,
0,0, 0,0, 0,0, 0,0,
58,49, 0,0, 0,0, 0,0,
55,49, 0,0, 55,49, 56,49,
0,0, 56,49, 57,49, 57,49,
57,49, 0,0, 0,0, 58,49,
55,49, 58,49, 58,146, 56,49,
0,0, 55,49, 0,0, 0,0,
56,49, 0,0, 0,0, 58,49,
57,49, 0,0, 57,49, 0,0,
58,49, 0,0, 57,144, 0,0,
0,0, 0,0, 57,145, 0,0,
57,49, 59,49, 59,49, 59,49,
0,0, 57,49, 0,0, 0,0,
0,0, 60,49, 60,49, 60,49,
0,0, 0,0, 0,0, 61,49,
61,49, 61,49, 0,0, 59,49,
57,49, 59,49, 57,49, 0,0,
0,0, 0,0, 57,144, 60,49,
0,0, 60,49, 57,145, 59,49,
57,49, 61,49, 0,0, 61,49,
59,147, 57,49, 0,0, 60,49,
0,0, 0,0, 0,0, 60,148,
60,49, 61,49, 0,0, 0,0,
0,0, 61,149, 61,49, 59,49,
0,0, 59,49, 62,49, 62,49,
62,49, 0,0, 0,0, 60,49,
0,0, 60,49, 0,0, 59,49,
0,0, 61,49, 0,0, 61,49,
59,147, 0,0, 0,0, 60,49,
62,49, 0,0, 62,49, 60,148,
60,49, 61,49, 63,49, 63,49,
63,49, 61,149, 61,49, 0,0,
62,49, 0,0, 62,150, 0,0,
0,0, 62,49, 0,0, 0,0,
65,49, 65,49, 65,49, 0,0,
63,49, 0,0, 63,49, 64,49,
64,49, 64,49, 0,0, 0,0,
62,49, 0,0, 62,49, 0,0,
63,49, 0,0, 65,49, 0,0,
65,49, 63,49, 0,0, 0,0,
62,49, 64,49, 62,150, 64,49,
0,0, 62,49, 65,49, 66,49,
66,49, 66,49, 0,0, 65,49,
63,49, 64,49, 63,49, 0,0,
0,0, 0,0, 64,49, 0,0,
0,0, 64,151, 0,0, 0,0,
63,49, 66,49, 65,49, 66,152,
65,49, 63,49, 0,0, 0,0,
0,0, 64,49, 0,0, 64,49,
0,0, 66,49, 65,49, 0,0,
0,0, 0,0, 66,49, 65,49,
0,0, 64,49, 67,49, 67,49,
67,49, 0,0, 64,49, 0,0,
0,0, 64,151, 0,0, 0,0,
0,0, 66,49, 0,0, 66,152,
0,0, 0,0, 0,0, 0,0,
67,49, 0,0, 67,49, 0,0,
0,0, 66,49, 68,49, 68,49,
68,49, 0,0, 66,49, 0,0,
67,49, 0,0, 0,0, 0,0,
67,153, 67,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
68,49, 0,0, 68,49, 69,49,
69,49, 69,49, 0,0, 0,0,
67,49, 0,0, 67,49, 0,0,
68,49, 0,0, 0,0, 0,0,
0,0, 68,49, 0,0, 68,154,
67,49, 69,49, 0,0, 69,49,
67,153, 67,49, 0,0, 70,49,
70,49, 70,49, 0,0, 69,155,
68,49, 69,49, 68,49, 0,0,
0,0, 0,0, 69,49, 0,0,
0,0, 71,49, 71,49, 71,49,
68,49, 70,49, 70,156, 70,49,
0,0, 68,49, 0,0, 68,154,
0,0, 69,49, 0,0, 69,49,
0,0, 70,49, 0,0, 71,49,
0,0, 71,49, 70,49, 69,155,
0,0, 69,49, 0,0, 0,0,
0,0, 71,157, 69,49, 71,49,
0,0, 0,0, 0,0, 0,0,
71,158, 70,49, 70,156, 70,49,
72,49, 72,49, 72,49, 0,0,
73,49, 73,49, 73,49, 0,0,
0,0, 70,49, 0,0, 71,49,
0,0, 71,49, 70,49, 0,0,
0,0, 0,0, 72,49, 72,159,
72,49, 71,157, 73,49, 71,49,
73,49, 73,162, 0,0, 0,0,
71,158, 0,0, 72,49, 0,0,
0,0, 72,160, 73,49, 72,161,
0,0, 0,0, 0,0, 73,49,
73,163, 0,0, 0,0, 74,49,
74,49, 74,49, 0,0, 0,0,
0,0, 0,0, 72,49, 72,159,
72,49, 0,0, 73,49, 0,0,
73,49, 73,162, 0,0, 0,0,
0,0, 74,49, 72,49, 74,49,
0,0, 72,160, 73,49, 72,161,
75,49, 75,49, 75,49, 73,49,
73,163, 74,49, 0,0, 0,0,
0,0, 0,0, 74,164, 0,0,
0,0, 0,0, 76,49, 76,49,
76,49, 0,0, 75,49, 75,165,
75,49, 75,166, 0,0, 0,0,
0,0, 74,49, 0,0, 74,49,
0,0, 0,0, 75,49, 75,167,
76,49, 0,0, 76,49, 75,168,
75,169, 74,49, 0,0, 76,170,
0,0, 0,0, 74,164, 0,0,
76,49, 0,0, 76,171, 0,0,
0,0, 76,49, 75,49, 75,165,
75,49, 75,166, 77,49, 77,49,
77,49, 0,0, 0,0, 0,0,
0,0, 0,0, 75,49, 75,167,
76,49, 0,0, 76,49, 75,168,
75,169, 0,0, 0,0, 76,170,
77,49, 0,0, 77,49, 77,172,
76,49, 0,0, 76,171, 0,0,
0,0, 76,49, 0,0, 0,0,
77,173, 0,0, 0,0, 0,0,
77,174, 77,49, 0,0, 0,0,
0,0, 0,0, 78,49, 78,49,
78,49, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
77,49, 0,0, 77,49, 77,172,
0,0, 0,0, 0,0, 0,0,
78,49, 0,0, 78,49, 0,0,
77,173, 0,0, 0,0, 0,0,
77,174, 77,49, 78,175, 0,0,
78,49, 0,0, 0,0, 0,0,
0,0, 78,49, 0,0, 0,0,
0,0, 0,0, 0,0, 81,49,
81,49, 81,49, 0,0, 79,49,
79,49, 79,49, 0,0, 0,0,
78,49, 0,0, 78,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 81,49, 78,175, 81,49,
78,49, 79,49, 79,176, 79,49,
79,177, 78,49, 79,178, 79,179,
0,0, 81,49, 0,0, 79,180,
79,181, 79,182, 81,49, 79,183,
0,0, 79,184, 79,185, 0,0,
0,0, 0,0, 82,49, 82,49,
82,49, 0,0, 0,0, 0,0,
0,0, 81,49, 0,0, 81,49,
0,0, 79,49, 79,176, 79,49,
79,177, 0,0, 79,178, 79,179,
82,49, 81,49, 82,49, 79,180,
79,181, 79,182, 81,49, 79,183,
0,0, 79,184, 79,185, 0,0,
82,49, 83,49, 83,49, 83,49,
0,0, 82,49, 0,0, 0,0,
84,49, 84,49, 84,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 83,49,
82,49, 83,49, 82,49, 0,0,
0,0, 84,188, 84,49, 0,0,
84,49, 83,186, 0,0, 83,49,
82,49, 0,0, 0,0, 83,187,
83,49, 82,49, 84,49, 0,0,
0,0, 0,0, 0,0, 84,49,
85,49, 85,49, 85,49, 0,0,
0,0, 0,0, 0,0, 83,49,
0,0, 83,49, 0,0, 0,0,
0,0, 84,188, 84,49, 0,0,
84,49, 83,186, 85,49, 83,49,
85,49, 0,0, 0,0, 83,187,
83,49, 0,0, 84,49, 0,0,
0,0, 0,0, 85,49, 84,49,
0,0, 0,0, 0,0, 85,49,
86,49, 86,49, 86,49, 87,49,
87,49, 87,49, 0,0, 88,49,
88,49, 88,49, 0,0, 0,0,
0,0, 0,0, 85,49, 0,0,
85,49, 0,0, 86,49, 86,189,
86,49, 87,49, 0,0, 87,49,
0,0, 88,49, 85,49, 88,49,
0,0, 0,0, 86,49, 85,49,
0,0, 87,49, 0,0, 86,49,
0,0, 88,49, 87,49, 0,0,
0,0, 87,190, 88,49, 0,0,
0,0, 0,0, 0,0, 0,0,
88,191, 0,0, 86,49, 86,189,
86,49, 87,49, 0,0, 87,49,
0,0, 88,49, 0,0, 88,49,
0,0, 0,0, 86,49, 0,0,
0,0, 87,49, 0,0, 86,49,
0,0, 88,49, 87,49, 0,0,
0,0, 87,190, 88,49, 89,49,
89,49, 89,49, 0,0, 0,0,
88,191, 90,49, 90,49, 90,49,
91,49, 91,49, 91,49, 0,0,
92,49, 92,49, 92,49, 0,0,
0,0, 89,49, 0,0, 89,49,
0,0, 0,0, 0,0, 90,49,
0,0, 90,49, 91,49, 0,0,
91,49, 89,49, 92,49, 91,192,
92,49, 0,0, 89,49, 90,49,
0,0, 0,0, 91,49, 0,0,
90,49, 0,0, 92,49, 91,49,
92,193, 0,0, 92,194, 92,49,
92,195, 89,49, 0,0, 89,49,
0,0, 0,0, 0,0, 90,49,
0,0, 90,49, 91,49, 0,0,
91,49, 89,49, 92,49, 91,192,
92,49, 0,0, 89,49, 90,49,
0,0, 0,0, 91,49, 0,0,
90,49, 0,0, 92,49, 91,49,
92,193, 0,0, 92,194, 92,49,
92,195, 93,49, 93,49, 93,49,
94,49, 94,49, 94,49, 0,0,
0,0, 0,0, 96,49, 96,49,
96,49, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 93,49,
0,0, 93,49, 94,49, 0,0,
94,49, 0,0, 0,0, 94,197,
96,49, 94,198, 96,49, 93,49,
0,0, 96,199, 94,49, 93,196,
93,49, 0,0, 0,0, 94,49,
96,49, 0,0, 0,0, 0,0,
0,0, 96,49, 0,0, 0,0,
0,0, 0,0, 0,0, 93,49,
0,0, 93,49, 94,49, 0,0,
94,49, 0,0, 0,0, 94,197,
96,49, 94,198, 96,49, 93,49,
0,0, 96,199, 94,49, 93,196,
93,49, 0,0, 0,0, 94,49,
96,49, 97,49, 97,49, 97,49,
0,0, 96,49, 0,0, 98,49,
98,49, 98,49, 100,49, 100,49,
100,49, 0,0, 99,49, 99,49,
99,49, 0,0, 0,0, 97,49,
0,0, 97,49, 97,200, 0,0,
0,0, 98,49, 0,0, 98,49,
100,49, 0,0, 100,203, 97,49,
99,49, 0,0, 99,49, 0,0,
97,49, 98,49, 0,0, 0,0,
100,49, 0,0, 98,49, 0,0,
99,49, 100,49, 99,201, 0,0,
0,0, 99,202, 0,0, 97,49,
0,0, 97,49, 97,200, 0,0,
0,0, 98,49, 0,0, 98,49,
100,49, 0,0, 100,203, 97,49,
99,49, 0,0, 99,49, 0,0,
97,49, 98,49, 0,0, 0,0,
100,49, 0,0, 98,49, 0,0,
99,49, 100,49, 99,201, 0,0,
0,0, 99,202, 101,49, 101,49,
101,49, 103,49, 103,49, 103,49,
102,49, 102,49, 102,49, 104,49,
104,49, 104,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
101,49, 0,0, 101,49, 103,49,
103,208, 103,49, 102,49, 0,0,
102,49, 104,49, 101,204, 104,49,
101,49, 102,206, 0,0, 103,49,
101,205, 101,49, 102,49, 0,0,
103,49, 104,49, 0,0, 102,207,
0,0, 0,0, 104,49, 0,0,
0,0, 0,0, 0,0, 0,0,
101,49, 0,0, 101,49, 103,49,
103,208, 103,49, 102,49, 0,0,
102,49, 104,49, 101,204, 104,49,
101,49, 102,206, 0,0, 103,49,
101,205, 101,49, 102,49, 0,0,
103,49, 104,49, 0,0, 102,207,
0,0, 0,0, 104,49, 105,49,
105,49, 105,49, 106,49, 106,49,
106,49, 107,49, 107,49, 107,49,
0,0, 0,0, 0,0, 0,0,
0,0, 108,49, 108,49, 108,49,
0,0, 105,49, 0,0, 105,49,
106,49, 0,0, 106,49, 107,49,
0,0, 107,49, 106,209, 0,0,
0,0, 105,49, 106,210, 108,212,
106,49, 108,49, 105,49, 107,49,
107,211, 106,49, 0,0, 0,0,
107,49, 0,0, 0,0, 108,49,
0,0, 0,0, 0,0, 0,0,
108,49, 105,49, 0,0, 105,49,
106,49, 0,0, 106,49, 107,49,
0,0, 107,49, 106,209, 0,0,
0,0, 105,49, 106,210, 108,212,
106,49, 108,49, 105,49, 107,49,
107,211, 106,49, 0,0, 0,0,
107,49, 0,0, 0,0, 108,49,
109,49, 109,49, 109,49, 0,0,
108,49, 0,0, 110,49, 110,49,
110,49, 111,49, 111,49, 111,49,
0,0, 112,49, 112,49, 112,49,
0,0, 0,0, 109,49, 0,0,
109,49, 0,0, 0,0, 0,0,
110,49, 109,213, 110,49, 111,49,
111,215, 111,49, 109,49, 112,49,
0,0, 112,49, 0,0, 109,49,
110,49, 0,0, 0,0, 111,49,
0,0, 110,214, 111,216, 112,49,
111,217, 0,0, 0,0, 112,218,
112,49, 0,0, 109,49, 0,0,
109,49, 0,0, 0,0, 0,0,
110,49, 109,213, 110,49, 111,49,
111,215, 111,49, 109,49, 112,49,
0,0, 112,49, 0,0, 109,49,
110,49, 0,0, 0,0, 111,49,
0,0, 110,214, 111,216, 112,49,
111,217, 0,0, 0,0, 112,218,
112,49, 113,49, 113,49, 113,49,
0,0, 114,49, 114,49, 114,49,
115,49, 115,49, 115,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 113,49,
0,0, 113,49, 113,219, 114,49,
0,0, 114,49, 115,49, 115,222,
115,49, 115,223, 0,0, 113,49,
0,0, 0,0, 0,0, 114,49,
113,49, 113,220, 115,49, 115,224,
114,221, 0,0, 0,0, 115,225,
115,226, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 113,49,
0,0, 113,49, 113,219, 114,49,
0,0, 114,49, 115,49, 115,222,
115,49, 115,223, 0,0, 113,49,
116,49, 116,49, 116,49, 114,49,
113,49, 113,220, 115,49, 115,224,
114,221, 0,0, 0,0, 115,225,
115,226, 117,49, 117,49, 117,49,
0,0, 0,0, 116,49, 0,0,
116,49, 118,49, 118,49, 118,49,
0,0, 116,227, 0,0, 0,0,
0,0, 0,0, 116,49, 117,49,
0,0, 117,49, 117,228, 116,49,
0,0, 0,0, 0,0, 118,49,
0,0, 118,49, 0,0, 117,229,
0,0, 0,0, 0,0, 117,230,
117,49, 118,231, 116,49, 118,49,
116,49, 0,0, 0,0, 0,0,
118,49, 116,227, 0,0, 0,0,
0,0, 0,0, 116,49, 117,49,
0,0, 117,49, 117,228, 116,49,
0,0, 0,0, 0,0, 118,49,
0,0, 118,49, 0,0, 117,229,
119,49, 119,49, 119,49, 117,230,
117,49, 118,231, 0,0, 118,49,
120,49, 120,49, 120,49, 0,0,
118,49, 0,0, 121,49, 121,49,
121,49, 0,0, 119,49, 0,0,
119,49, 123,49, 123,49, 123,49,
0,0, 0,0, 120,49, 0,0,
120,49, 0,0, 119,49, 0,0,
121,49, 120,233, 121,49, 119,49,
119,232, 0,0, 120,49, 123,49,
0,0, 123,49, 0,0, 120,49,
121,49, 0,0, 0,0, 0,0,
0,0, 121,49, 119,49, 123,49,
119,49, 0,0, 0,0, 0,0,
123,49, 0,0, 120,49, 0,0,
120,49, 0,0, 119,49, 0,0,
121,49, 120,233, 121,49, 119,49,
119,232, 0,0, 120,49, 123,49,
0,0, 123,49, 0,0, 120,49,
121,49, 136,49, 136,49, 136,49,
0,0, 121,49, 0,0, 123,49,
137,49, 137,49, 137,49, 0,0,
123,49, 0,0, 138,49, 138,49,
138,49, 0,0, 0,0, 136,49,
0,0, 136,49, 139,49, 139,49,
139,49, 0,0, 137,49, 0,0,
137,49, 0,0, 0,0, 136,49,
138,49, 0,0, 138,49, 0,0,
136,49, 0,0, 137,49, 0,0,
139,49, 0,0, 139,49, 137,49,
138,49, 0,0, 0,0, 0,0,
0,0, 138,49, 139,241, 136,49,
139,49, 136,49, 0,0, 0,0,
139,242, 139,49, 137,49, 0,0,
137,49, 0,0, 0,0, 136,49,
138,49, 0,0, 138,49, 0,0,
136,49, 0,0, 137,49, 0,0,
139,49, 0,0, 139,49, 137,49,
138,49, 140,49, 140,49, 140,49,
0,0, 138,49, 139,241, 0,0,
139,49, 141,49, 141,49, 141,49,
139,242, 139,49, 0,0, 142,49,
142,49, 142,49, 0,0, 140,49,
0,0, 140,49, 143,49, 143,49,
143,49, 0,0, 140,243, 141,49,
0,0, 141,49, 0,0, 140,49,
0,0, 142,49, 0,0, 142,49,
140,49, 0,0, 0,0, 141,49,
143,49, 0,0, 143,49, 0,0,
141,49, 142,49, 0,0, 0,0,
0,0, 0,0, 142,49, 140,49,
143,49, 140,49, 0,0, 0,0,
0,0, 143,49, 140,243, 141,49,
0,0, 141,49, 0,0, 140,49,
0,0, 142,49, 0,0, 142,49,
140,49, 0,0, 0,0, 141,49,
143,49, 0,0, 143,49, 0,0,
141,49, 142,49, 144,49, 144,49,
144,49, 0,0, 142,49, 0,0,
143,49, 145,49, 145,49, 145,49,
0,0, 143,49, 0,0, 146,49,
146,49, 146,49, 0,0, 0,0,
144,49, 0,0, 144,49, 0,0,
0,0, 144,244, 0,0, 145,49,
0,0, 145,49, 0,0, 0,0,
144,49, 146,49, 0,0, 146,49,
0,0, 144,49, 0,0, 145,49,
0,0, 0,0, 0,0, 145,245,
145,49, 146,49, 0,0, 0,0,
0,0, 0,0, 146,49, 146,246,
144,49, 0,0, 144,49, 0,0,
0,0, 144,244, 0,0, 145,49,
0,0, 145,49, 0,0, 0,0,
144,49, 146,49, 0,0, 146,49,
0,0, 144,49, 0,0, 145,49,
147,49, 147,49, 147,49, 145,245,
145,49, 146,49, 0,0, 148,49,
148,49, 148,49, 146,49, 146,246,
0,0, 149,49, 149,49, 149,49,
0,0, 0,0, 147,49, 0,0,
147,49, 0,0, 0,0, 0,0,
0,0, 148,49, 0,0, 148,49,
0,0, 0,0, 147,49, 149,49,
0,0, 149,49, 0,0, 147,49,
147,247, 148,49, 0,0, 0,0,
0,0, 0,0, 148,49, 149,49,
0,0, 0,0, 0,0, 0,0,
149,49, 0,0, 147,49, 0,0,
147,49, 150,49, 150,49, 150,49,
0,0, 148,49, 0,0, 148,49,
0,0, 0,0, 147,49, 149,49,
0,0, 149,49, 0,0, 147,49,
147,247, 148,49, 0,0, 150,49,
0,0, 150,49, 148,49, 149,49,
151,49, 151,49, 151,49, 0,0,
149,49, 0,0, 150,248, 150,49,
0,0, 0,0, 0,0, 0,0,
150,49, 152,49, 152,49, 152,49,
0,0, 0,0, 151,49, 0,0,
151,49, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 150,49,
0,0, 150,49, 151,49, 152,49,
0,0, 152,249, 0,0, 151,49,
0,0, 0,0, 150,248, 150,49,
0,0, 0,0, 0,0, 152,49,
150,49, 0,0, 0,0, 0,0,
152,49, 0,0, 151,49, 0,0,
151,49, 153,49, 153,49, 153,49,
154,49, 154,49, 154,49, 0,0,
0,0, 0,0, 151,49, 152,49,
0,0, 152,249, 0,0, 151,49,
0,0, 0,0, 0,0, 153,49,
0,0, 153,49, 154,49, 152,49,
154,49, 155,49, 155,49, 155,49,
152,49, 0,0, 0,0, 153,49,
0,0, 0,0, 154,49, 0,0,
153,49, 0,0, 0,0, 154,49,
0,0, 0,0, 0,0, 155,49,
0,0, 155,49, 155,250, 0,0,
0,0, 0,0, 0,0, 153,49,
0,0, 153,49, 154,49, 155,49,
154,49, 0,0, 0,0, 0,0,
155,49, 0,0, 0,0, 153,49,
0,0, 0,0, 154,49, 0,0,
153,49, 0,0, 0,0, 154,49,
0,0, 0,0, 0,0, 155,49,
0,0, 155,49, 155,250, 156,49,
156,49, 156,49, 157,49, 157,49,
157,49, 0,0, 0,0, 155,49,
158,49, 158,49, 158,49, 0,0,
155,49, 0,0, 0,0, 0,0,
0,0, 156,49, 0,0, 156,49,
157,49, 0,0, 157,49, 0,0,
0,0, 0,0, 158,49, 156,251,
158,49, 156,49, 0,0, 0,0,
157,49, 0,0, 156,49, 0,0,
157,252, 157,49, 158,49, 0,0,
0,0, 0,0, 0,0, 158,49,
0,0, 0,0, 0,0, 0,0,
0,0, 156,49, 0,0, 156,49,
157,49, 0,0, 157,49, 0,0,
0,0, 0,0, 158,49, 156,251,
158,49, 156,49, 0,0, 0,0,
157,49, 0,0, 156,49, 0,0,
157,252, 157,49, 158,49, 159,49,
159,49, 159,49, 0,0, 158,49,
0,0, 160,49, 160,49, 160,49,
161,49, 161,49, 161,49, 0,0,
162,49, 162,49, 162,49, 0,0,
0,0, 159,49, 0,0, 159,49,
0,0, 0,0, 0,0, 160,49,
0,0, 160,49, 161,49, 0,0,
161,49, 159,49, 162,49, 0,0,
162,49, 0,0, 159,49, 160,49,
0,0, 0,0, 161,49, 0,0,
160,49, 0,0, 162,49, 161,49,
0,0, 0,0, 0,0, 162,49,
0,0, 159,49, 0,0, 159,49,
0,0, 0,0, 0,0, 160,49,
0,0, 160,49, 161,49, 0,0,
161,49, 159,49, 162,49, 0,0,
162,49, 0,0, 159,49, 160,49,
0,0, 0,0, 161,49, 0,0,
160,49, 0,0, 162,49, 161,49,
163,49, 163,49, 163,49, 162,49,
164,49, 164,49, 164,49, 165,49,
165,49, 165,49, 0,0, 166,49,
166,49, 166,49, 0,0, 0,0,
0,0, 0,0, 163,49, 0,0,
163,49, 0,0, 164,49, 0,0,
164,49, 165,49, 0,0, 165,49,
0,0, 166,49, 163,49, 166,49,
0,0, 0,0, 164,49, 163,49,
0,0, 165,49, 0,0, 164,49,
0,0, 166,49, 165,49, 0,0,
0,0, 0,0, 166,49, 0,0,
0,0, 0,0, 163,49, 0,0,
163,49, 0,0, 164,49, 0,0,
164,49, 165,49, 0,0, 165,49,
0,0, 166,49, 163,49, 166,49,
0,0, 0,0, 164,49, 163,49,
0,0, 165,49, 0,0, 164,49,
0,0, 166,49, 165,49, 167,49,
167,49, 167,49, 166,49, 168,49,
168,49, 168,49, 169,49, 169,49,
169,49, 0,0, 170,49, 170,49,
170,49, 0,0, 0,0, 0,0,
0,0, 167,49, 0,0, 167,49,
0,0, 168,49, 0,0, 168,49,
169,49, 0,0, 169,49, 0,0,
170,49, 167,49, 170,49, 0,0,
0,0, 168,49, 167,49, 0,0,
169,49, 0,0, 168,49, 0,0,
170,49, 169,49, 0,0, 0,0,
0,0, 170,49, 0,0, 0,0,
0,0, 167,49, 0,0, 167,49,
0,0, 168,49, 0,0, 168,49,
169,49, 0,0, 169,49, 0,0,
170,49, 167,49, 170,49, 0,0,
0,0, 168,49, 167,49, 0,0,
169,49, 0,0, 168,49, 0,0,
170,49, 169,49, 171,49, 171,49,
171,49, 170,49, 172,49, 172,49,
172,49, 173,49, 173,49, 173,49,
0,0, 174,49, 174,49, 174,49,
0,0, 0,0, 0,0, 0,0,
171,49, 0,0, 171,49, 0,0,
172,49, 0,0, 172,49, 173,49,
0,0, 173,49, 0,0, 174,49,
171,49, 174,49, 0,0, 0,0,
172,49, 171,49, 0,0, 173,49,
0,0, 172,49, 0,0, 174,49,
173,49, 0,0, 0,0, 0,0,
174,49, 0,0, 0,0, 0,0,
171,49, 0,0, 171,49, 0,0,
172,49, 0,0, 172,49, 173,49,
0,0, 173,49, 0,0, 174,49,
171,49, 174,49, 0,0, 0,0,
172,49, 171,49, 0,0, 173,49,
0,0, 172,49, 0,0, 174,49,
173,49, 175,49, 175,49, 175,49,
174,49, 176,49, 176,49, 176,49,
177,49, 177,49, 177,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 175,49,
0,0, 175,49, 0,0, 176,49,
0,0, 176,49, 177,49, 177,255,
177,49, 0,0, 0,0, 175,49,
0,0, 176,253, 0,0, 176,49,
175,49, 0,0, 177,49, 0,0,
176,254, 177,256, 0,0, 177,257,
177,258, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 175,49,
0,0, 175,49, 0,0, 176,49,
0,0, 176,49, 177,49, 177,255,
177,49, 0,0, 0,0, 175,49,
0,0, 176,253, 0,0, 176,49,
175,49, 0,0, 177,49, 0,0,
176,254, 177,256, 0,0, 177,257,
177,258, 178,49, 178,49, 178,49,
0,0, 179,49, 179,49, 179,49,
180,49, 180,49, 180,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 178,49,
0,0, 178,49, 178,259, 179,49,
0,0, 179,49, 180,49, 180,262,
180,49, 180,263, 0,0, 178,49,
0,0, 0,0, 0,0, 179,49,
178,49, 178,260, 180,49, 180,264,
179,261, 0,0, 0,0, 180,265,
180,266, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 178,49,
0,0, 178,49, 178,259, 179,49,
0,0, 179,49, 180,49, 180,262,
180,49, 180,263, 0,0, 178,49,
181,49, 181,49, 181,49, 179,49,
178,49, 178,260, 180,49, 180,264,
179,261, 0,0, 0,0, 180,265,
180,266, 182,49, 182,49, 182,49,
0,0, 0,0, 181,49, 0,0,
181,49, 183,49, 183,49, 183,49,
0,0, 181,267, 0,0, 0,0,
0,0, 0,0, 181,49, 182,49,
0,0, 182,49, 182,268, 181,49,
0,0, 0,0, 0,0, 183,49,
0,0, 183,49, 0,0, 182,269,
0,0, 0,0, 0,0, 182,270,
182,49, 183,271, 181,49, 183,49,
181,49, 0,0, 0,0, 0,0,
183,49, 181,267, 0,0, 0,0,
0,0, 0,0, 181,49, 182,49,
0,0, 182,49, 182,268, 181,49,
0,0, 0,0, 0,0, 183,49,
0,0, 183,49, 0,0, 182,269,
184,49, 184,49, 184,49, 182,270,
182,49, 183,271, 0,0, 183,49,
185,49, 185,49, 185,49, 0,0,
183,49, 0,0, 186,49, 186,49,
186,49, 0,0, 184,49, 0,0,
184,49, 187,49, 187,49, 187,49,
0,0, 0,0, 185,49, 0,0,
185,49, 185,272, 184,49, 0,0,
186,49, 0,0, 186,49, 184,49,
0,0, 0,0, 185,49, 187,49,
0,0, 187,49, 0,0, 185,49,
186,49, 0,0, 0,0, 0,0,
0,0, 186,49, 184,49, 187,49,
184,49, 0,0, 0,0, 0,0,
187,49, 0,0, 185,49, 0,0,
185,49, 185,272, 184,49, 0,0,
186,49, 0,0, 186,49, 184,49,
0,0, 0,0, 185,49, 187,49,
0,0, 187,49, 0,0, 185,49,
186,49, 188,49, 188,49, 188,49,
0,0, 186,49, 0,0, 187,49,
189,49, 189,49, 189,49, 0,0,
187,49, 0,0, 190,49, 190,49,
190,49, 0,0, 0,0, 188,49,
0,0, 188,49, 0,0, 0,0,
0,0, 0,0, 189,49, 0,0,
189,49, 0,0, 0,0, 188,49,
190,49, 0,0, 190,49, 190,274,
188,49, 0,0, 189,49, 0,0,
0,0, 0,0, 189,273, 189,49,
190,49, 0,0, 0,0, 0,0,
0,0, 190,49, 0,0, 188,49,
0,0, 188,49, 0,0, 0,0,
0,0, 0,0, 189,49, 0,0,
189,49, 0,0, 0,0, 188,49,
190,49, 0,0, 190,49, 190,274,
188,49, 0,0, 189,49, 191,49,
191,49, 191,49, 189,273, 189,49,
190,49, 192,49, 192,49, 192,49,
0,0, 190,49, 0,0, 0,0,
193,49, 193,49, 193,49, 0,0,
0,0, 191,49, 0,0, 191,49,
0,0, 0,0, 0,0, 192,49,
0,0, 192,49, 0,0, 0,0,
0,0, 191,49, 193,49, 0,0,
193,49, 191,275, 191,49, 192,49,
0,0, 0,0, 0,0, 0,0,
192,49, 0,0, 193,49, 0,0,
0,0, 0,0, 0,0, 193,49,
0,0, 191,49, 0,0, 191,49,
0,0, 0,0, 0,0, 192,49,
0,0, 192,49, 194,49, 194,49,
194,49, 191,49, 193,49, 0,0,
193,49, 191,275, 191,49, 192,49,
0,0, 0,0, 0,0, 0,0,
192,49, 0,0, 193,49, 0,0,
194,49, 0,0, 194,49, 193,49,
0,0, 195,49, 195,49, 195,49,
0,0, 0,0, 0,0, 194,276,
194,49, 0,0, 0,0, 0,0,
0,0, 194,49, 196,49, 196,49,
196,49, 0,0, 0,0, 195,49,
0,0, 195,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
194,49, 0,0, 194,49, 195,49,
196,49, 0,0, 196,49, 0,0,
195,49, 0,0, 0,0, 194,276,
194,49, 0,0, 0,0, 0,0,
196,49, 194,49, 0,0, 0,0,
0,0, 196,49, 0,0, 195,49,
0,0, 195,49, 197,49, 197,49,
197,49, 198,49, 198,49, 198,49,
0,0, 0,0, 0,0, 195,49,
196,49, 0,0, 196,49, 0,0,
195,49, 0,0, 0,0, 0,0,
197,49, 0,0, 197,49, 198,49,
196,49, 198,49, 199,49, 199,49,
199,49, 196,49, 0,0, 0,0,
197,49, 0,0, 0,0, 198,49,
0,0, 197,49, 0,0, 0,0,
198,49, 0,0, 0,0, 0,0,
199,49, 0,0, 199,49, 199,277,
0,0, 0,0, 0,0, 0,0,
197,49, 0,0, 197,49, 198,49,
199,49, 198,49, 0,0, 0,0,
0,0, 199,49, 0,0, 0,0,
197,49, 0,0, 0,0, 198,49,
0,0, 197,49, 0,0, 0,0,
198,49, 0,0, 0,0, 0,0,
199,49, 0,0, 199,49, 199,277,
200,49, 200,49, 200,49, 201,49,
201,49, 201,49, 0,0, 0,0,
199,49, 0,0, 0,0, 0,0,
0,0, 199,49, 0,0, 0,0,
0,0, 0,0, 200,49, 200,278,
200,49, 201,49, 0,0, 201,49,
202,49, 202,49, 202,49, 0,0,
0,0, 0,0, 200,49, 0,0,
0,0, 201,49, 0,0, 200,49,
0,0, 0,0, 201,49, 0,0,
0,0, 0,0, 202,49, 0,0,
202,49, 202,279, 0,0, 0,0,
0,0, 0,0, 200,49, 200,278,
200,49, 201,49, 202,49, 201,49,
0,0, 0,0, 0,0, 202,49,
0,0, 0,0, 200,49, 0,0,
0,0, 201,49, 0,0, 200,49,
0,0, 0,0, 201,49, 0,0,
0,0, 0,0, 202,49, 0,0,
202,49, 202,279, 203,49, 203,49,
203,49, 204,49, 204,49, 204,49,
0,0, 0,0, 202,49, 205,49,
205,49, 205,49, 0,0, 202,49,
0,0, 0,0, 0,0, 0,0,
203,49, 0,0, 203,49, 204,49,
0,0, 204,49, 0,0, 0,0,
0,0, 205,49, 0,0, 205,49,
203,49, 0,0, 0,0, 204,49,
0,0, 203,49, 0,0, 0,0,
204,49, 205,49, 0,0, 0,0,
0,0, 0,0, 205,49, 0,0,
0,0, 0,0, 0,0, 0,0,
203,49, 0,0, 203,49, 204,49,
0,0, 204,49, 0,0, 0,0,
0,0, 205,49, 0,0, 205,49,
203,49, 0,0, 0,0, 204,49,
0,0, 203,49, 0,0, 0,0,
204,49, 205,49, 206,49, 206,49,
206,49, 0,0, 205,49, 0,0,
207,49, 207,49, 207,49, 208,49,
208,49, 208,49, 0,0, 209,49,
209,49, 209,49, 0,0, 0,0,
206,49, 0,0, 206,49, 0,0,
0,0, 0,0, 207,49, 0,0,
207,49, 208,49, 0,0, 208,49,
206,49, 209,49, 0,0, 209,49,
0,0, 206,49, 207,49, 0,0,
0,0, 208,49, 0,0, 207,49,
0,0, 209,49, 208,49, 0,0,
0,0, 0,0, 209,49, 0,0,
206,49, 0,0, 206,49, 0,0,
0,0, 0,0, 207,49, 0,0,
207,49, 208,49, 0,0, 208,49,
206,49, 209,49, 0,0, 209,49,
0,0, 206,49, 207,49, 0,0,
0,0, 208,49, 0,0, 207,49,
0,0, 209,49, 208,49, 210,49,
210,49, 210,49, 209,49, 211,49,
211,49, 211,49, 213,49, 213,49,
213,49, 0,0, 0,0, 0,0,
212,49, 212,49, 212,49, 0,0,
0,0, 210,49, 0,0, 210,49,
0,0, 211,49, 0,0, 211,49,
213,49, 0,0, 213,49, 0,0,
0,0, 210,49, 212,49, 0,0,
212,49, 211,49, 210,49, 211,280,
213,49, 0,0, 211,49, 0,0,
212,281, 213,49, 212,49, 0,0,
0,0, 0,0, 212,282, 212,49,
0,0, 210,49, 0,0, 210,49,
0,0, 211,49, 0,0, 211,49,
213,49, 0,0, 213,49, 0,0,
0,0, 210,49, 212,49, 0,0,
212,49, 211,49, 210,49, 211,280,
213,49, 0,0, 211,49, 0,0,
212,281, 213,49, 212,49, 214,49,
214,49, 214,49, 212,282, 212,49,
0,0, 215,49, 215,49, 215,49,
216,49, 216,49, 216,49, 0,0,
217,49, 217,49, 217,49, 0,0,
0,0, 214,49, 0,0, 214,49,
0,0, 0,0, 0,0, 215,49,
0,0, 215,49, 216,49, 0,0,
216,49, 214,49, 217,49, 0,0,
217,49, 0,0, 214,49, 215,49,
0,0, 0,0, 216,49, 0,0,
215,49, 0,0, 217,49, 216,49,
0,0, 0,0, 0,0, 217,49,
0,0, 214,49, 0,0, 214,49,
0,0, 0,0, 0,0, 215,49,
0,0, 215,49, 216,49, 0,0,
216,49, 214,49, 217,49, 0,0,
217,49, 0,0, 214,49, 215,49,
0,0, 0,0, 216,49, 0,0,
215,49, 0,0, 217,49, 216,49,
218,49, 218,49, 218,49, 217,49,
219,49, 219,49, 219,49, 220,49,
220,49, 220,49, 0,0, 221,49,
221,49, 221,49, 0,0, 0,0,
0,0, 0,0, 218,49, 0,0,
218,49, 0,0, 219,49, 0,0,
219,49, 220,49, 0,0, 220,49,
0,0, 221,49, 218,49, 221,49,
0,0, 0,0, 219,49, 218,49,
0,0, 220,49, 0,0, 219,49,
0,0, 221,49, 220,49, 0,0,
0,0, 0,0, 221,49, 0,0,
0,0, 0,0, 218,49, 0,0,
218,49, 0,0, 219,49, 0,0,
219,49, 220,49, 0,0, 220,49,
0,0, 221,49, 218,49, 221,49,
0,0, 0,0, 219,49, 218,49,
0,0, 220,49, 0,0, 219,49,
0,0, 221,49, 220,49, 222,49,
222,49, 222,49, 221,49, 223,49,
223,49, 223,49, 224,49, 224,49,
224,49, 0,0, 225,49, 225,49,
225,49, 0,0, 0,0, 0,0,
0,0, 222,49, 0,0, 222,49,
0,0, 223,49, 0,0, 223,49,
224,49, 0,0, 224,49, 0,0,
225,49, 222,49, 225,49, 0,0,
0,0, 223,49, 222,49, 0,0,
224,49, 0,0, 223,49, 0,0,
225,49, 224,49, 0,0, 0,0,
0,0, 225,49, 0,0, 0,0,
0,0, 222,49, 0,0, 222,49,
0,0, 223,49, 0,0, 223,49,
224,49, 0,0, 224,49, 0,0,
225,49, 222,49, 225,49, 0,0,
0,0, 223,49, 222,49, 0,0,
224,49, 0,0, 223,49, 0,0,
225,49, 224,49, 226,49, 226,49,
226,49, 225,49, 227,49, 227,49,
227,49, 228,49, 228,49, 228,49,
0,0, 229,49, 229,49, 229,49,
0,0, 0,0, 0,0, 0,0,
226,49, 0,0, 226,49, 0,0,
227,49, 0,0, 227,49, 228,49,
0,0, 228,49, 0,0, 229,49,
226,49, 229,49, 0,0, 0,0,
227,49, 226,49, 0,0, 228,49,
0,0, 227,49, 0,0, 229,49,
228,49, 0,0, 0,0, 0,0,
229,49, 0,0, 0,0, 0,0,
226,49, 0,0, 226,49, 0,0,
227,49, 0,0, 227,49, 228,49,
0,0, 228,49, 0,0, 229,49,
226,49, 229,49, 0,0, 0,0,
227,49, 226,49, 0,0, 228,49,
0,0, 227,49, 0,0, 229,49,
228,49, 230,49, 230,49, 230,49,
229,49, 231,49, 231,49, 231,49,
232,49, 232,49, 232,49, 0,0,
233,49, 233,49, 233,49, 0,0,
0,0, 0,0, 0,0, 230,49,
0,0, 230,49, 0,0, 231,49,
0,0, 231,49, 232,49, 0,0,
232,49, 0,0, 233,49, 230,49,
233,49, 0,0, 0,0, 231,49,
230,49, 0,0, 232,49, 0,0,
231,49, 0,0, 233,49, 232,49,
0,0, 0,0, 0,0, 233,49,
233,283, 0,0, 0,0, 230,49,
0,0, 230,49, 0,0, 231,49,
0,0, 231,49, 232,49, 0,0,
232,49, 0,0, 233,49, 230,49,
233,49, 0,0, 0,0, 231,49,
230,49, 0,0, 232,49, 0,0,
231,49, 0,0, 233,49, 232,49,
241,49, 241,49, 241,49, 233,49,
233,283, 0,0, 242,49, 242,49,
242,49, 243,49, 243,49, 243,49,
0,0, 244,49, 244,49, 244,49,
0,0, 0,0, 241,49, 0,0,
241,49, 0,0, 0,0, 0,0,
242,49, 0,0, 242,49, 243,49,
0,0, 243,49, 241,49, 244,49,
0,0, 244,49, 0,0, 241,49,
242,49, 0,0, 0,0, 243,49,
0,0, 242,49, 0,0, 244,49,
243,49, 0,0, 0,0, 0,0,
244,49, 0,0, 241,49, 0,0,
241,49, 0,0, 0,0, 0,0,
242,49, 0,0, 242,49, 243,49,
0,0, 243,49, 241,49, 244,49,
0,0, 244,49, 0,0, 241,49,
242,49, 0,0, 0,0, 243,49,
0,0, 242,49, 0,0, 244,49,
243,49, 245,49, 245,49, 245,49,
244,49, 246,49, 246,49, 246,49,
247,49, 247,49, 247,49, 0,0,
248,49, 248,49, 248,49, 0,0,
0,0, 0,0, 0,0, 245,49,
0,0, 245,49, 0,0, 246,49,
0,0, 246,49, 247,49, 0,0,
247,49, 0,0, 248,49, 245,49,
248,49, 0,0, 0,0, 246,49,
245,49, 0,0, 247,49, 0,0,
246,49, 0,0, 248,49, 247,49,
0,0, 0,0, 0,0, 248,49,
0,0, 0,0, 0,0, 245,49,
0,0, 245,49, 0,0, 246,49,
0,0, 246,49, 247,49, 0,0,
247,49, 0,0, 248,49, 245,49,
248,49, 0,0, 0,0, 246,49,
245,49, 0,0, 247,49, 0,0,
246,49, 0,0, 248,49, 247,49,
249,49, 249,49, 249,49, 248,49,
250,49, 250,49, 250,49, 0,0,
251,49, 251,49, 251,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 249,49, 0,0,
249,49, 0,0, 250,49, 0,0,
250,49, 0,0, 251,49, 250,285,
251,49, 0,0, 249,49, 249,284,
0,0, 0,0, 250,49, 249,49,
0,0, 0,0, 251,49, 250,49,
0,0, 0,0, 0,0, 251,49,
0,0, 251,286, 0,0, 0,0,
0,0, 0,0, 249,49, 0,0,
249,49, 0,0, 250,49, 0,0,
250,49, 0,0, 251,49, 250,285,
251,49, 0,0, 249,49, 249,284,
0,0, 0,0, 250,49, 249,49,
0,0, 0,0, 251,49, 250,49,
252,49, 252,49, 252,49, 251,49,
0,0, 251,286, 253,49, 253,49,
253,49, 254,49, 254,49, 254,49,
0,0, 255,49, 255,49, 255,49,
0,0, 0,0, 252,49, 0,0,
252,49, 0,0, 0,0, 0,0,
253,49, 0,0, 253,49, 254,49,
0,0, 254,49, 252,49, 255,49,
0,0, 255,49, 0,0, 252,49,
253,49, 0,0, 0,0, 254,49,
253,287, 253,49, 0,0, 255,49,
254,49, 0,0, 0,0, 0,0,
255,49, 0,0, 252,49, 0,0,
252,49, 0,0, 0,0, 0,0,
253,49, 0,0, 253,49, 254,49,
0,0, 254,49, 252,49, 255,49,
0,0, 255,49, 0,0, 252,49,
253,49, 0,0, 0,0, 254,49,
253,287, 253,49, 0,0, 255,49,
254,49, 256,49, 256,49, 256,49,
255,49, 257,49, 257,49, 257,49,
258,49, 258,49, 258,49, 0,0,
259,49, 259,49, 259,49, 0,0,
0,0, 0,0, 0,0, 256,49,
0,0, 256,49, 0,0, 257,49,
0,0, 257,49, 258,49, 0,0,
258,49, 0,0, 259,49, 256,49,
259,49, 0,0, 0,0, 257,49,
256,49, 0,0, 258,49, 0,0,
257,49, 0,0, 259,49, 258,49,
0,0, 0,0, 0,0, 259,49,
0,0, 0,0, 0,0, 256,49,
0,0, 256,49, 0,0, 257,49,
0,0, 257,49, 258,49, 0,0,
258,49, 0,0, 259,49, 256,49,
259,49, 0,0, 0,0, 257,49,
256,49, 0,0, 258,49, 0,0,
257,49, 0,0, 259,49, 258,49,
260,49, 260,49, 260,49, 259,49,
261,49, 261,49, 261,49, 262,49,
262,49, 262,49, 0,0, 263,49,
263,49, 263,49, 0,0, 0,0,
0,0, 0,0, 260,49, 0,0,
260,49, 0,0, 261,49, 0,0,
261,49, 262,49, 0,0, 262,49,
0,0, 263,49, 260,49, 263,49,
0,0, 0,0, 261,49, 260,49,
0,0, 262,49, 0,0, 261,49,
0,0, 263,49, 262,49, 0,0,
0,0, 0,0, 263,49, 0,0,
0,0, 0,0, 260,49, 0,0,
260,49, 0,0, 261,49, 0,0,
261,49, 262,49, 0,0, 262,49,
0,0, 263,49, 260,49, 263,49,
0,0, 0,0, 261,49, 260,49,
0,0, 262,49, 0,0, 261,49,
0,0, 263,49, 262,49, 264,49,
264,49, 264,49, 263,49, 265,49,
265,49, 265,49, 266,49, 266,49,
266,49, 0,0, 267,49, 267,49,
267,49, 0,0, 0,0, 0,0,
0,0, 264,49, 0,0, 264,49,
0,0, 265,49, 0,0, 265,49,
266,49, 0,0, 266,49, 0,0,
267,49, 264,49, 267,49, 0,0,
0,0, 265,49, 264,49, 0,0,
266,49, 0,0, 265,49, 0,0,
267,49, 266,49, 0,0, 0,0,
0,0, 267,49, 0,0, 0,0,
0,0, 264,49, 0,0, 264,49,
0,0, 265,49, 0,0, 265,49,
266,49, 0,0, 266,49, 0,0,
267,49, 264,49, 267,49, 0,0,
0,0, 265,49, 264,49, 0,0,
266,49, 0,0, 265,49, 0,0,
267,49, 266,49, 268,49, 268,49,
268,49, 267,49, 269,49, 269,49,
269,49, 270,49, 270,49, 270,49,
0,0, 271,49, 271,49, 271,49,
0,0, 0,0, 0,0, 0,0,
268,49, 0,0, 268,49, 0,0,
269,49, 0,0, 269,49, 270,49,
0,0, 270,49, 0,0, 271,49,
268,49, 271,49, 0,0, 0,0,
269,49, 268,49, 0,0, 270,49,
0,0, 269,49, 0,0, 271,49,
270,49, 0,0, 0,0, 0,0,
271,49, 0,0, 0,0, 0,0,
268,49, 0,0, 268,49, 0,0,
269,49, 0,0, 269,49, 270,49,
0,0, 270,49, 0,0, 271,49,
268,49, 271,49, 0,0, 0,0,
269,49, 268,49, 0,0, 270,49,
0,0, 269,49, 0,0, 271,49,
270,49, 272,49, 272,49, 272,49,
271,49, 273,49, 273,49, 273,49,
0,0, 274,49, 274,49, 274,49,
275,49, 275,49, 275,49, 0,0,
0,0, 0,0, 0,0, 272,49,
0,0, 272,49, 0,0, 273,49,
0,0, 273,49, 0,0, 274,49,
274,289, 274,49, 275,49, 272,49,
275,49, 0,0, 0,0, 273,49,
272,49, 272,288, 274,290, 274,49,
273,49, 274,291, 275,49, 0,0,
274,49, 0,0, 0,0, 275,49,
0,0, 0,0, 0,0, 272,49,
0,0, 272,49, 0,0, 273,49,
0,0, 273,49, 0,0, 274,49,
274,289, 274,49, 275,49, 272,49,
275,49, 0,0, 0,0, 273,49,
272,49, 272,288, 274,290, 274,49,
273,49, 274,291, 275,49, 0,0,
274,49, 0,0, 0,0, 275,49,
276,49, 276,49, 276,49, 277,49,
277,49, 277,49, 278,49, 278,49,
278,49, 279,49, 279,49, 279,49,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 276,49, 0,0,
276,49, 277,49, 0,0, 277,49,
278,49, 0,0, 278,49, 279,49,
0,0, 279,49, 276,49, 0,0,
0,0, 277,49, 0,0, 276,49,
278,49, 0,0, 277,49, 279,49,
0,0, 278,49, 278,292, 0,0,
279,49, 279,293, 0,0, 0,0,
0,0, 0,0, 276,49, 0,0,
276,49, 277,49, 0,0, 277,49,
278,49, 0,0, 278,49, 279,49,
0,0, 279,49, 276,49, 0,0,
0,0, 277,49, 0,0, 276,49,
278,49, 0,0, 277,49, 279,49,
0,0, 278,49, 278,292, 0,0,
279,49, 279,293, 280,49, 280,49,
280,49, 281,49, 281,49, 281,49,
282,49, 282,49, 282,49, 283,49,
283,49, 283,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
280,49, 0,0, 280,49, 281,49,
0,0, 281,49, 282,49, 0,0,
282,49, 283,49, 0,0, 283,49,
280,49, 0,0, 0,0, 281,49,
0,0, 280,49, 282,49, 0,0,
281,49, 283,49, 0,0, 282,49,
0,0, 0,0, 283,49, 0,0,
0,0, 0,0, 0,0, 0,0,
280,49, 0,0, 280,49, 281,49,
0,0, 281,49, 282,49, 0,0,
282,49, 283,49, 0,0, 283,49,
280,49, 0,0, 0,0, 281,49,
0,0, 280,49, 282,49, 0,0,
281,49, 283,49, 0,0, 282,49,
0,0, 0,0, 283,49, 284,49,
284,49, 284,49, 0,0, 285,49,
285,49, 285,49, 286,49, 286,49,
286,49, 0,0, 287,49, 287,49,
287,49, 0,0, 0,0, 0,0,
0,0, 284,49, 0,0, 284,49,
285,294, 285,49, 0,0, 285,49,
286,49, 0,0, 286,295, 0,0,
287,49, 284,49, 287,49, 0,0,
0,0, 285,49, 284,49, 0,0,
286,49, 0,0, 285,49, 0,0,
287,49, 286,49, 0,0, 0,0,
0,0, 287,49, 0,0, 0,0,
0,0, 284,49, 0,0, 284,49,
285,294, 285,49, 0,0, 285,49,
286,49, 0,0, 286,295, 0,0,
287,49, 284,49, 287,49, 0,0,
0,0, 285,49, 284,49, 0,0,
286,49, 0,0, 285,49, 0,0,
287,49, 286,49, 288,49, 288,49,
288,49, 287,49, 289,49, 289,49,
289,49, 290,49, 290,49, 290,49,
0,0, 291,49, 291,49, 291,49,
0,0, 0,0, 0,0, 0,0,
288,49, 0,0, 288,49, 0,0,
289,49, 0,0, 289,49, 290,49,
0,0, 290,49, 0,0, 291,49,
288,49, 291,49, 0,0, 0,0,
289,49, 288,49, 0,0, 290,49,
0,0, 289,49, 0,0, 291,49,
290,49, 0,0, 0,0, 0,0,
291,49, 0,0, 0,0, 0,0,
288,49, 0,0, 288,49, 0,0,
289,49, 0,0, 289,49, 290,49,
0,0, 290,49, 0,0, 291,49,
288,49, 291,49, 0,0, 0,0,
289,49, 288,49, 0,0, 290,49,
0,0, 289,49, 0,0, 291,49,
290,49, 292,49, 292,49, 292,49,
291,49, 293,49, 293,49, 293,49,
0,0, 294,49, 294,49, 294,49,
295,49, 295,49, 295,49, 0,0,
0,0, 0,0, 0,0, 292,49,
0,0, 292,49, 0,0, 293,49,
0,0, 293,49, 0,0, 294,49,
0,0, 294,49, 295,49, 292,49,
295,49, 295,297, 0,0, 293,49,
292,49, 294,296, 0,0, 294,49,
293,49, 0,0, 295,49, 0,0,
294,49, 0,0, 0,0, 295,49,
0,0, 0,0, 0,0, 292,49,
0,0, 292,49, 0,0, 293,49,
0,0, 293,49, 0,0, 294,49,
0,0, 294,49, 295,49, 292,49,
295,49, 295,297, 0,0, 293,49,
292,49, 294,296, 0,0, 294,49,
293,49, 0,0, 295,49, 0,0,
294,49, 0,0, 0,0, 295,49,
296,49, 296,49, 296,49, 297,49,
297,49, 297,49, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 296,49, 0,0,
296,49, 297,49, 0,0, 297,49,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 296,49, 0,0,
0,0, 297,49, 0,0, 296,49,
0,0, 0,0, 297,49, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 296,49, 0,0,
296,49, 297,49, 0,0, 297,49,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 296,49, 0,0,
0,0, 297,49, 0,0, 296,49,
0,0, 0,0, 297,49, 0,0,
0,0};
struct yysvf yysvec[] ={
0, 0, 0,
yycrank+-1, 0, 0,
yycrank+-56, yysvec+1, 0,
yycrank+0, 0, yyvstop+1,
yycrank+3, 0, yyvstop+3,
yycrank+0, 0, yyvstop+6,
yycrank+56, 0, yyvstop+8,
yycrank+-118, 0, yyvstop+10,
yycrank+81, 0, yyvstop+12,
yycrank+91, 0, yyvstop+14,
yycrank+163, 0, yyvstop+16,
yycrank+-220, 0, yyvstop+19,
yycrank+33, 0, yyvstop+22,
yycrank+32, 0, yyvstop+24,
yycrank+0, 0, yyvstop+26,
yycrank+262, 0, yyvstop+29,
yycrank+337, yysvec+15, yyvstop+33,
yycrank+340, yysvec+15, yyvstop+37,
yycrank+346, yysvec+15, yyvstop+40,
yycrank+410, yysvec+15, yyvstop+43,
yycrank+414, yysvec+15, yyvstop+46,
yycrank+418, yysvec+15, yyvstop+49,
yycrank+482, yysvec+15, yyvstop+52,
yycrank+550, yysvec+15, yyvstop+55,
yycrank+590, yysvec+15, yyvstop+58,
yycrank+628, yysvec+15, yyvstop+61,
yycrank+495, yysvec+15, yyvstop+64,
yycrank+666, yysvec+15, yyvstop+67,
yycrank+704, yysvec+15, yyvstop+70,
yycrank+712, yysvec+15, yyvstop+73,
yycrank+768, yysvec+15, yyvstop+76,
yycrank+825, yysvec+15, yyvstop+79,
yycrank+836, yysvec+15, yyvstop+82,
yycrank+849, yysvec+15, yyvstop+86,
yycrank+-919, 0, yyvstop+90,
yycrank+0, yysvec+4, yyvstop+93,
yycrank+0, yysvec+6, yyvstop+95,
yycrank+-970, 0, 0,
yycrank+-139, yysvec+37, 0,
yycrank+50, yysvec+8, 0,
yycrank+0, yysvec+9, yyvstop+97,
yycrank+208, 0, 0,
yycrank+0, yysvec+10, yyvstop+99,
yycrank+0, yysvec+11, yyvstop+101,
yycrank+0, 0, yyvstop+103,
yycrank+0, 0, yyvstop+105,
yycrank+0, 0, yyvstop+107,
yycrank+1012, yysvec+15, yyvstop+109,
yycrank+1015, yysvec+15, yyvstop+112,
yycrank+1018, yysvec+15, yyvstop+115,
yycrank+1021, yysvec+15, yyvstop+117,
yycrank+1089, yysvec+15, yyvstop+120,
yycrank+1092, yysvec+15, yyvstop+122,
yycrank+1095, yysvec+15, yyvstop+124,
yycrank+1098, yysvec+15, yyvstop+126,
yycrank+1166, yysvec+15, yyvstop+129,
yycrank+1169, yysvec+15, yyvstop+132,
yycrank+1222, yysvec+15, yyvstop+135,
yycrank+1177, yysvec+15, yyvstop+137,
yycrank+1253, yysvec+15, yyvstop+139,
yycrank+1261, yysvec+15, yyvstop+141,
yycrank+1267, yysvec+15, yyvstop+143,
yycrank+1306, yysvec+15, yyvstop+145,
yycrank+1330, yysvec+15, yyvstop+147,
yycrank+1351, yysvec+15, yyvstop+150,
yycrank+1344, yysvec+15, yyvstop+152,
yycrank+1375, yysvec+15, yyvstop+155,
yycrank+1414, yysvec+15, yyvstop+157,
yycrank+1438, yysvec+15, yyvstop+159,
yycrank+1459, yysvec+15, yyvstop+161,
yycrank+1483, yysvec+15, yyvstop+163,
yycrank+1497, yysvec+15, yyvstop+165,
yycrank+1536, yysvec+15, yyvstop+167,
yycrank+1540, yysvec+15, yyvstop+169,
yycrank+1579, yysvec+15, yyvstop+171,
yycrank+1604, yysvec+15, yyvstop+173,
yycrank+1618, yysvec+15, yyvstop+175,
yycrank+1658, yysvec+15, yyvstop+177,
yycrank+1698, yysvec+15, yyvstop+179,
yycrank+1743, yysvec+15, yyvstop+181,
yycrank+0, 0, yyvstop+183,
yycrank+1739, yysvec+15, yyvstop+185,
yycrank+1782, yysvec+15, yyvstop+188,
yycrank+1813, yysvec+15, yyvstop+191,
yycrank+1820, yysvec+15, yyvstop+193,
yycrank+1856, yysvec+15, yyvstop+195,
yycrank+1892, yysvec+15, yyvstop+198,
yycrank+1895, yysvec+15, yyvstop+200,
yycrank+1899, yysvec+15, yyvstop+202,
yycrank+1967, yysvec+15, yyvstop+204,
yycrank+1973, yysvec+15, yyvstop+207,
yycrank+1976, yysvec+15, yyvstop+210,
yycrank+1980, yysvec+15, yyvstop+212,
yycrank+2049, yysvec+15, yyvstop+214,
yycrank+2052, yysvec+15, yyvstop+216,
yycrank+0, 0, yyvstop+219,
yycrank+2058, yysvec+15, yyvstop+221,
yycrank+2121, yysvec+15, yyvstop+223,
yycrank+2127, yysvec+15, yyvstop+225,
yycrank+2134, yysvec+15, yyvstop+228,
yycrank+2130, yysvec+15, yyvstop+230,
yycrank+2202, yysvec+15, yyvstop+232,
yycrank+2208, yysvec+15, yyvstop+234,
yycrank+2205, yysvec+15, yyvstop+236,
yycrank+2211, yysvec+15, yyvstop+238,
yycrank+2279, yysvec+15, yyvstop+241,
yycrank+2282, yysvec+15, yyvstop+244,
yycrank+2285, yysvec+15, yyvstop+246,
yycrank+2293, yysvec+15, yyvstop+248,
yycrank+2356, yysvec+15, yyvstop+250,
yycrank+2362, yysvec+15, yyvstop+252,
yycrank+2365, yysvec+15, yyvstop+254,
yycrank+2369, yysvec+15, yyvstop+256,
yycrank+2437, yysvec+15, yyvstop+258,
yycrank+2441, yysvec+15, yyvstop+260,
yycrank+2444, yysvec+15, yyvstop+262,
yycrank+2500, yysvec+15, yyvstop+264,
yycrank+2513, yysvec+15, yyvstop+266,
yycrank+2521, yysvec+15, yyvstop+268,
yycrank+2576, yysvec+15, yyvstop+270,
yycrank+2584, yysvec+15, yyvstop+272,
yycrank+2590, yysvec+15, yyvstop+274,
yycrank+0, 0, yyvstop+277,
yycrank+2597, yysvec+15, yyvstop+279,
yycrank+0, 0, yyvstop+282,
yycrank+0, yysvec+34, yyvstop+284,
yycrank+0, 0, yyvstop+286,
yycrank+-23, yysvec+37, 0,
yycrank+-140, yysvec+37, yyvstop+288,
yycrank+-141, yysvec+37, 0,
yycrank+-142, yysvec+37, 0,
yycrank+-212, yysvec+37, 0,
yycrank+-213, yysvec+37, 0,
yycrank+-215, yysvec+37, 0,
yycrank+-228, yysvec+37, 0,
yycrank+0, yysvec+41, yyvstop+290,
yycrank+2653, yysvec+15, yyvstop+292,
yycrank+2660, yysvec+15, yyvstop+295,
yycrank+2666, yysvec+15, yyvstop+298,
yycrank+2674, yysvec+15, yyvstop+301,
yycrank+2729, yysvec+15, yyvstop+304,
yycrank+2737, yysvec+15, yyvstop+307,
yycrank+2743, yysvec+15, yyvstop+310,
yycrank+2750, yysvec+15, yyvstop+313,
yycrank+2806, yysvec+15, yyvstop+316,
yycrank+2813, yysvec+15, yyvstop+318,
yycrank+2819, yysvec+15, yyvstop+320,
yycrank+2876, yysvec+15, yyvstop+322,
yycrank+2883, yysvec+15, yyvstop+324,
yycrank+2889, yysvec+15, yyvstop+327,
yycrank+2929, yysvec+15, yyvstop+330,
yycrank+2952, yysvec+15, yyvstop+333,
yycrank+2965, yysvec+15, yyvstop+336,
yycrank+3005, yysvec+15, yyvstop+339,
yycrank+3008, yysvec+15, yyvstop+342,
yycrank+3029, yysvec+15, yyvstop+345,
yycrank+3083, yysvec+15, yyvstop+347,
yycrank+3086, yysvec+15, yyvstop+349,
yycrank+3092, yysvec+15, yyvstop+351,
yycrank+3155, yysvec+15, yyvstop+354,
yycrank+3161, yysvec+15, yyvstop+357,
yycrank+3164, yysvec+15, yyvstop+360,
yycrank+3168, yysvec+15, yyvstop+363,
yycrank+3232, yysvec+15, yyvstop+366,
yycrank+3236, yysvec+15, yyvstop+369,
yycrank+3239, yysvec+15, yyvstop+372,
yycrank+3243, yysvec+15, yyvstop+375,
yycrank+3307, yysvec+15, yyvstop+378,
yycrank+3311, yysvec+15, yyvstop+381,
yycrank+3314, yysvec+15, yyvstop+384,
yycrank+3318, yysvec+15, yyvstop+387,
yycrank+3382, yysvec+15, yyvstop+390,
yycrank+3386, yysvec+15, yyvstop+393,
yycrank+3389, yysvec+15, yyvstop+396,
yycrank+3393, yysvec+15, yyvstop+399,
yycrank+3457, yysvec+15, yyvstop+402,
yycrank+3461, yysvec+15, yyvstop+405,
yycrank+3464, yysvec+15, yyvstop+407,
yycrank+3533, yysvec+15, yyvstop+409,
yycrank+3537, yysvec+15, yyvstop+411,
yycrank+3540, yysvec+15, yyvstop+413,
yycrank+3596, yysvec+15, yyvstop+415,
yycrank+3609, yysvec+15, yyvstop+417,
yycrank+3617, yysvec+15, yyvstop+419,
yycrank+3672, yysvec+15, yyvstop+421,
yycrank+3680, yysvec+15, yyvstop+424,
yycrank+3686, yysvec+15, yyvstop+426,
yycrank+3693, yysvec+15, yyvstop+429,
yycrank+3749, yysvec+15, yyvstop+432,
yycrank+3756, yysvec+15, yyvstop+435,
yycrank+3762, yysvec+15, yyvstop+438,
yycrank+3819, yysvec+15, yyvstop+440,
yycrank+3825, yysvec+15, yyvstop+443,
yycrank+3832, yysvec+15, yyvstop+446,
yycrank+3878, yysvec+15, yyvstop+449,
yycrank+3901, yysvec+15, yyvstop+451,
yycrank+3914, yysvec+15, yyvstop+454,
yycrank+3954, yysvec+15, yyvstop+457,
yycrank+3957, yysvec+15, yyvstop+460,
yycrank+3978, yysvec+15, yyvstop+463,
yycrank+4032, yysvec+15, yyvstop+465,
yycrank+4035, yysvec+15, yyvstop+467,
yycrank+4056, yysvec+15, yyvstop+470,
yycrank+4110, yysvec+15, yyvstop+472,
yycrank+4113, yysvec+15, yyvstop+475,
yycrank+4119, yysvec+15, yyvstop+478,
yycrank+4182, yysvec+15, yyvstop+481,
yycrank+4188, yysvec+15, yyvstop+484,
yycrank+4191, yysvec+15, yyvstop+487,
yycrank+4195, yysvec+15, yyvstop+490,
yycrank+4259, yysvec+15, yyvstop+493,
yycrank+4263, yysvec+15, yyvstop+496,
yycrank+4272, yysvec+15, yyvstop+498,
yycrank+4266, yysvec+15, yyvstop+501,
yycrank+4335, yysvec+15, yyvstop+504,
yycrank+4341, yysvec+15, yyvstop+507,
yycrank+4344, yysvec+15, yyvstop+510,
yycrank+4348, yysvec+15, yyvstop+513,
yycrank+4412, yysvec+15, yyvstop+516,
yycrank+4416, yysvec+15, yyvstop+519,
yycrank+4419, yysvec+15, yyvstop+522,
yycrank+4423, yysvec+15, yyvstop+525,
yycrank+4487, yysvec+15, yyvstop+528,
yycrank+4491, yysvec+15, yyvstop+531,
yycrank+4494, yysvec+15, yyvstop+534,
yycrank+4498, yysvec+15, yyvstop+537,
yycrank+4562, yysvec+15, yyvstop+540,
yycrank+4566, yysvec+15, yyvstop+543,
yycrank+4569, yysvec+15, yyvstop+546,
yycrank+4573, yysvec+15, yyvstop+549,
yycrank+4637, yysvec+15, yyvstop+552,
yycrank+4641, yysvec+15, yyvstop+555,
yycrank+4644, yysvec+15, yyvstop+558,
yycrank+4648, yysvec+15, yyvstop+561,
yycrank+-230, yysvec+37, yyvstop+563,
yycrank+-233, yysvec+37, yyvstop+565,
yycrank+-234, yysvec+37, yyvstop+568,
yycrank+-235, yysvec+37, yyvstop+571,
yycrank+-236, yysvec+37, yyvstop+574,
yycrank+-238, yysvec+37, yyvstop+577,
yycrank+-240, yysvec+37, yyvstop+580,
yycrank+4712, yysvec+15, yyvstop+583,
yycrank+4718, yysvec+15, yyvstop+586,
yycrank+4721, yysvec+15, yyvstop+589,
yycrank+4725, yysvec+15, yyvstop+592,
yycrank+4789, yysvec+15, yyvstop+595,
yycrank+4793, yysvec+15, yyvstop+598,
yycrank+4796, yysvec+15, yyvstop+601,
yycrank+4800, yysvec+15, yyvstop+604,
yycrank+4864, yysvec+15, yyvstop+607,
yycrank+4868, yysvec+15, yyvstop+609,
yycrank+4872, yysvec+15, yyvstop+611,
yycrank+4936, yysvec+15, yyvstop+613,
yycrank+4942, yysvec+15, yyvstop+616,
yycrank+4945, yysvec+15, yyvstop+618,
yycrank+4949, yysvec+15, yyvstop+621,
yycrank+5013, yysvec+15, yyvstop+624,
yycrank+5017, yysvec+15, yyvstop+627,
yycrank+5020, yysvec+15, yyvstop+630,
yycrank+5024, yysvec+15, yyvstop+633,
yycrank+5088, yysvec+15, yyvstop+636,
yycrank+5092, yysvec+15, yyvstop+639,
yycrank+5095, yysvec+15, yyvstop+642,
yycrank+5099, yysvec+15, yyvstop+645,
yycrank+5163, yysvec+15, yyvstop+648,
yycrank+5167, yysvec+15, yyvstop+651,
yycrank+5170, yysvec+15, yyvstop+654,
yycrank+5174, yysvec+15, yyvstop+657,
yycrank+5238, yysvec+15, yyvstop+660,
yycrank+5242, yysvec+15, yyvstop+663,
yycrank+5245, yysvec+15, yyvstop+666,
yycrank+5249, yysvec+15, yyvstop+669,
yycrank+5313, yysvec+15, yyvstop+672,
yycrank+5317, yysvec+15, yyvstop+674,
yycrank+5321, yysvec+15, yyvstop+677,
yycrank+5324, yysvec+15, yyvstop+680,
yycrank+5392, yysvec+15, yyvstop+683,
yycrank+5395, yysvec+15, yyvstop+686,
yycrank+5398, yysvec+15, yyvstop+689,
yycrank+5401, yysvec+15, yyvstop+691,
yycrank+5470, yysvec+15, yyvstop+693,
yycrank+5473, yysvec+15, yyvstop+696,
yycrank+5476, yysvec+15, yyvstop+699,
yycrank+5479, yysvec+15, yyvstop+702,
yycrank+5547, yysvec+15, yyvstop+705,
yycrank+5551, yysvec+15, yyvstop+708,
yycrank+5554, yysvec+15, yyvstop+710,
yycrank+5558, yysvec+15, yyvstop+712,
yycrank+5622, yysvec+15, yyvstop+715,
yycrank+5626, yysvec+15, yyvstop+718,
yycrank+5629, yysvec+15, yyvstop+721,
yycrank+5633, yysvec+15, yyvstop+724,
yycrank+5697, yysvec+15, yyvstop+727,
yycrank+5701, yysvec+15, yyvstop+730,
yycrank+5705, yysvec+15, yyvstop+733,
yycrank+5708, yysvec+15, yyvstop+735,
yycrank+5776, yysvec+15, yyvstop+737,
yycrank+5779, yysvec+15, yyvstop+740,
0, 0, 0};
struct yywork *yytop = yycrank+5894;
struct yysvf *yybgin = yysvec+1;
char yymatch[] ={
00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
'0' ,'0' ,'2' ,'3' ,'3' ,'3' ,'3' ,'3' ,
'8' ,'8' ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,'A' ,'B' ,'C' ,'D' ,'E' ,'F' ,'G' ,
'H' ,'I' ,'J' ,'K' ,'L' ,'M' ,'N' ,'O' ,
'P' ,'Q' ,'R' ,'S' ,'T' ,'U' ,'V' ,'W' ,
'X' ,'Y' ,'K' ,01 ,01 ,01 ,01 ,'K' ,
01 ,'A' ,'B' ,'C' ,'D' ,'E' ,'F' ,'G' ,
'H' ,'I' ,'J' ,'K' ,'L' ,'M' ,'N' ,'O' ,
'P' ,'Q' ,'R' ,'S' ,'T' ,'U' ,'V' ,'W' ,
'X' ,'Y' ,'K' ,01 ,01 ,01 ,01 ,01 ,
0};
char yyextra[] ={
0,0,0,0,1,1,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0};
/* ncform 4.1 83/08/11 */
int yylineno =1;
# define YYU(x) x
# define NLSTATE yyprevious=YYNEWLINE
char yytext[YYLMAX];
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
char yysbuf[YYLMAX];
char *yysptr = yysbuf;
int *yyfnd;
extern struct yysvf *yyestate;
int yyprevious = YYNEWLINE;
yylook(){
register struct yysvf *yystate, **lsp;
register struct yywork *yyt;
struct yysvf *yyz;
int yych;
struct yywork *yyr;
# ifdef LEXDEBUG
int debug;
# endif
char *yylastch;
/* start off machines */
# ifdef LEXDEBUG
debug = 0;
# endif
if (!yymorfg)
yylastch = yytext;
else {
yymorfg=0;
yylastch = yytext+yyleng;
}
for(;;){
lsp = yylstate;
yyestate = yystate = yybgin;
if (yyprevious==YYNEWLINE) yystate++;
for (;;){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
# endif
yyt = yystate->yystoff;
if(yyt == yycrank){ /* may not be any transitions */
yyz = yystate->yyother;
if(yyz == 0)break;
if(yyz->yystoff == yycrank)break;
}
*yylastch++ = yych = input();
tryagain:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"char ");
allprint(yych);
putchar('\n');
}
# endif
yyr = yyt;
if ( (int)yyt > (int)yycrank){
yyt = yyr + yych;
if (yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
}
# ifdef YYOPTIM
else if((int)yyt < (int)yycrank) { /* r < yycrank */
yyt = yyr = yycrank+(yycrank-yyt);
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"compressed state\n");
# endif
yyt = yyt + yych;
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
yyt = yyr + YYU(yymatch[yych]);
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"try fall back character ");
allprint(YYU(yymatch[yych]));
putchar('\n');
}
# endif
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transition */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
}
if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
# endif
goto tryagain;
}
# endif
else
{unput(*--yylastch);break;}
contin:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"state %d char ",yystate-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
;
}
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
while (lsp-- > yylstate){
*yylastch-- = 0;
if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
yyolsp = lsp;
if(yyextra[*yyfnd]){ /* must backup */
while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
lsp--;
unput(*yylastch--);
}
}
yyprevious = YYU(*yylastch);
yylsp = lsp;
yyleng = yylastch-yytext+1;
yytext[yyleng] = 0;
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"\nmatch ");
sprint(yytext);
fprintf(yyout," action %d\n",*yyfnd);
}
# endif
return(*yyfnd++);
}
unput(*yylastch);
}
if (yytext[0] == 0 /* && feof(yyin) */)
{
yysptr=yysbuf;
return(0);
}
yyprevious = yytext[0] = input();
if (yyprevious>0)
output(yyprevious);
yylastch=yytext;
# ifdef LEXDEBUG
if(debug)putchar('\n');
# endif
}
}
yyback(p, m)
int *p;
{
if (p==0) return(0);
while (*p)
{
if (*p++ == m)
return(1);
}
return(0);
}
/* the following are only used in the lex library */
yyinput(){
return(input());
}
yyoutput(c)
int c; {
output(c);
}
yyunput(c)
int c; {
unput(c);
}